mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-08-07 02:00:07 +00:00
* attaky_mesh_series: add board variant with FT6636 touch and landscape UI * attaky_mesh_series: P3 battery (MAX17048) + GPS + shared-I2C mutex - AttakySharedI2C: one Wire.begin() + a mutex serializing the shared board I2C bus (SDA=2/SCL=1) across the FT6636 touch poll (core 0), the MAX17048 fuel gauge (core 1), and the future AW9523 keyboard. Arduino's TwoWire buffers are not concurrency-safe. - board.begin() owns the authoritative bus init; the touch driver now takes the lock around every transaction instead of its own Wire.begin(). - getBattMilliVolts(): real MAX17048 VCELL read (78.125 uV/LSB -> mV = raw*5/64), 2 s cache + lock, replacing the 4000 mV stub. Upstream maps mV -> % itself. Hardware-verified ~4058 mV. - GPS: rename the dead GPS_BAUD flag to GPS_BAUD_RATE (the core reads that; 9600 only worked via the #else default). Pins verified on hardware: ESP RX = IO17 receives ATGM336H NMEA; MeshCore's module-centric PIN_GPS_TX=17 maps correctly. * attaky_mesh_series: Control_Keyboard_(Bottom) dual-AW9523 keyboard Add the Control_Keyboard_(Bottom)_1.0 module as an ADDITIVE hardware keyboard on the touch board. Two AW9523 expanders (0x5A left / 0x5B right) each scan a 5x5 matrix over the shared board I2C bus, serialized through the AttakySharedI2C mutex alongside the FT6636 touch poll and the MAX17048 fuel gauge. The driver emits final bytes (printable ASCII, backspace, enter, space) with momentary Shift resolved to uppercase in-driver. UITask injects them into the focused textarea exactly like the web-mirror keystroke path, so CAP_KEYBOARD stays 0 and the on-screen keyboard is not suppressed (touch typing does not regress). Focus-gated: the matrices are only scanned while an editable field is bound, so a key has zero side effect when nothing is focused. Hardware-verified, both halves: q/w/e/r/t (0x5A) + y (0x5B), Shift uppercase, backspace, space, enter; on-screen keyboard intact. * attaky_mesh_series: use reliable 115200 upload speed * attaky_mesh_series: use core default GPS baud * attaky_mesh_series: restore GPS_BAUD setting * attaky_mesh_series: rename PlatformIO environment