Commit Graph
8 Commits
Author SHA1 Message Date
liu weikai 054018d814 Fix board ownership drift and restore pager walkie support 2026-03-25 12:37:04 +08:00
liu weikai 25381c5c22 refactor: align board runtimes, GAT562 app shell, and BLE integrations
- migrate ESP board-specific implementations and runtime adapters into boards/*
- continue GAT562/Tab5/UI runtime alignment across app and board layers
- sync BLE and runtime integrations, and apply repository clang-format rules
2026-03-23 11:20:39 +08:00
liu weikai 9cf12df3e8 Refine mono UI GPS pages and board diagnostics 2026-03-20 02:07:55 +08:00
liu weikai 9ade3e9a85 feat(gat562): align nrf ui and meshtastic behavior 2026-03-19 23:04:42 +08:00
vicliu e429db9797 Feature ble (#10)
* Implement TDeck touch-friendly home grid and power management updates

* Add initial M5Stack Tab5 ESP-IDF environment and board skeleton

* BLE/Meshtastic: apply config at runtime and fix Admin/Telemetry for app compatibility

Meshtastic Admin set_* immediate responses:
- After set_channel: respond with get_channel_response (echo applied channel).
- After set_config: respond with get_config_response for the config type that was set.
- After set_module_config: respond with get_module_config_response after saveModuleConfig().
- After store_ui_config: respond with get_ui_config_response.
This prevents the Meshtastic app from marking these operations as failed when the device applied config but did not send a reply.

DeviceMetrics and Telemetry:
- Add buildDeviceMetrics() in meshtastic_ble (battery from board, uptime_seconds from millis).
- Set has_device_metrics and device_metrics in buildSelfNodeInfo() so the app receives battery and uptime for the local node.
- Give Telemetry module config explicit defaults in loadModuleConfig() (device_update_interval, device_telemetry_enabled, etc.) so get_module_config returns a valid structure.

Apply config at runtime (so BLE-written config takes effect):
- Add AppContext::applyPositionConfig() to push gps_interval_ms and gps_mode to GpsService (setCollectionInterval, setGnssConfig). Call it from BLE set_config when position config is written.
- Add screen_sleep.h with getScreenSleepTimeout() / setScreenSleepTimeout() declarations (implemented in main.cpp). BLE display, device_ui, and store_ui_config now call setScreenSleepTimeout() instead of writing Preferences only, so the in-memory screen timeout updates immediately without reboot.
- Settings UI includes screen_sleep.h and uses the same API.

Other:
- BLE topbar asset and icon when BLE is enabled (ble_topbar.png/c, ui_status, LV_Helper).
- Node store: PersistedNodeEntry and INodeStore gain hw_model; mt_adapter and contact_service pass/store it for Meshtastic app compatibility.
- Variant env tweaks (tlora_pager, tdeck). Event bus and minor cleanups.

* feat: align Meshtastic BLE/iOS flow and add T-Deck keyboard support

- add BLE pairing popup and align more Meshtastic admin/status behavior with iOS expectations
- complete BLE MQTT client proxy bridge and persist OK-to-MQTT / ignore-MQTT channel settings
- add native T-Deck I2C keyboard input, backlight control, and SPACE-to-menu behavior
- fix chat bubble wrapping, contact removal sync, and pager wake/menu regressions

* fix: restore lilygo_twatch_s3 build

- remove duplicate M5Tab5Board isGPSReady declaration
- exclude M5Tab5Board.cpp from T-Watch S3 source filters to avoid duplicate board singletons
- verified with pio run -e lilygo_twatch_s3
2026-03-06 21:01:35 +08:00
vicliu 4c16f765db map (#9)
* feat: maps
2026-02-17 11:40:19 +08:00
vicliu b4a5055092 Feature aprs (#6)
* feat: PA adjust

* feat: topbar status icon

* fix: settings bug

* feat: unify UI theme and node info link stats

* Improve mesh handling, input back actions, and keyboard alt symbols

- add IRQ/NVS diagnostics for radio and persistence
- refresh link stats and adjust NodeInfo/Position reply handling
- handle Backspace to trigger page back actions
- make Alt act as symbol modifier and rename GPS menu to Map
* fix: hostlink
* style: format
2026-02-08 20:21:51 +08:00
liu weikai fb668525d7 first commit 2026-01-18 21:25:18 +08:00