diff --git a/DEVICES.md b/DEVICES.md index 5f8e96b..2b75e33 100644 --- a/DEVICES.md +++ b/DEVICES.md @@ -13,6 +13,10 @@ USB) and the [GitHub releases](https://github.com/ALLFATHER-BV/wadamesh/releases | Tanmatsu | ESP32-P4 + ESP32-C6, SX1262 | 4" 800x480, 69-key keyboard (no touch) | Tanmatsu app store on the device (runs under the badge.team launcher, not web-flashable) | Store tracks the test channel | Fully supported; LoRa + Wi-Fi + Bluetooth simultaneously, standalone and companion in one | | Elecrow ThinkNode M9 | ESP32-S3, LR1110 | 2.4" 240x320 (no touch), I2C QWERTY + d-pad | Web flasher | Beta (new in beta_38) | Hardware-complete community port by ded (#138): GPS, microSD, buzzer, lock screen, d-pad navigation | | RAK WisMesh Tap V2 (RAK3312) | ESP32-S3, SX1262 | Touch display (LovyanGFX, 30+ fps) | Web flasher | Beta (new in beta_38) | Early community port by Ethac.chen (#136); core mesh, chat and map working | +| LilyGo T-Lora Pager | ESP32-S3, LR1121 or SX1262 | 2.33" AMOLED (no touch), QWERTY + rotary encoder | Web flasher (pick the build matching your radio) | Stable | Fully supported; keyboard-first navigation, microSD, map tile packs | +| Heltec V4-R8 + Expansion Kit V2 | ESP32-S3 (8 MB octal PSRAM), SX1262 | 2.4" touch (CHSC6x) | Web flasher | Stable | As the V4 plus microSD and the Expansion Kit sensors; buzzer supported | +| LilyGo T-Display P4 | ESP32-P4 + ESP32-C6, SX1262 | AMOLED or TFT-LCD, touch | Web flasher (AMOLED) or the .bin for the LCD SKU | Stable | Two screen SKUs; fuel-gauge battery reporting, full TX power | +| Attaky Mesh Series | ESP32-S3, SX1262 | Touch display | Web flasher | Beta (new in beta_47) | Community port by attakygit (#158/#169); detachable keyboard supported | ## Feature notes per board @@ -41,7 +45,6 @@ Open hardware requests, roughly in demand order. Ports are welcome, see PRs. - LilyGo T-Deck Pro Max: [#62](https://github.com/ALLFATHER-BV/wadamesh/issues/62) -- LilyGo T-pager: [#60](https://github.com/ALLFATHER-BV/wadamesh/issues/60) - SenseCAP Indicator D1L: [#14](https://github.com/ALLFATHER-BV/wadamesh/issues/14) ## Channels diff --git a/README.md b/README.md index ef57ef6..5d1996a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@

A real touchscreen UI for your mesh radio. · open source · GPL-3.0

Touch-UI [MeshCore](https://github.com/meshcore-dev/MeshCore) companion-radio -firmware for the **LilyGo T-Deck / T-Deck Plus** and **Heltec V4 + TFT** +firmware for the **LilyGo T-Deck / T-Deck Plus**, **Heltec V4 + TFT** and eight other boards (ESP32-S3). An LVGL touch UI — map, chat, contacts, channels, settings — split out of @@ -25,11 +25,15 @@ per-board status. - Tanmatsu (ESP32-P4) — built from `tanmatsu/` (ESP-IDF), ships via the Tanmatsu app store - Elecrow ThinkNode M9 — env `ThinkNode_M9_companion_radio_touch` (beta) — [keyboard & d-pad guide](THINKNODE_M9_SHORTCUTS.md) - RAK WisMesh Tap V2 (RAK3312) — env `rak_tap_v2_companion_radio_touch` (beta) +- LilyGo T-Lora Pager — envs `tlora_pager_lr1121_companion_radio_touch` / `tlora_pager_sx1262_companion_radio_touch` (stable) — [keyboard shortcuts](TLORA_PAGER_SHORTCUTS.md) +- Heltec V4-R8 + Expansion Kit V2 — env `heltec_v4_r8_tft_companion_radio_usb_tcp_touch` (stable) +- LilyGo T-Display P4 — built from `tdisplay_p4/` (ESP-IDF); AMOLED by default, `WADA_P4_LCD=1` for the TFT-LCD SKU +- Attaky Mesh Series — env `attaky_mesh_series_companion_radio_touch` (beta) ## Architecture This repo holds only the **app**: the `companion_radio` glue, the `ui-touch` -LVGL UI, the two boards' glue/variants, and `platformio.ini`. The **MeshCore +LVGL UI, each board's glue/variants, and `platformio.ini`. The **MeshCore core is not vendored here** — it's pulled as a library via `lib_deps` from the [`ALLFATHER-BV/meshcomod`](https://github.com/ALLFATHER-BV/meshcomod) monorepo (the same repo as the non-touch firmware), pinned by a lean source-only `core-*` diff --git a/src/ui-touch/UITask.cpp b/src/ui-touch/UITask.cpp index f45a07e..19dd45f 100644 --- a/src/ui-touch/UITask.cpp +++ b/src/ui-touch/UITask.cpp @@ -5369,7 +5369,7 @@ static void otaButtonRefreshState() { } } -#if (defined(HAS_TDECK_GT911) || defined(HAS_THINKNODE_M9) || defined(HELTEC_LORA_V4_R8)) && defined(ESP32) && defined(MULTI_TRANSPORT_COMPANION) && CAP_OTA +#if CAP_SD && defined(ESP32) && defined(MULTI_TRANSPORT_COMPANION) && CAP_OTA // ---- Save-update-to-SD (Launcher installs) --------------------------------- // Launcher-managed T-Decks have no spare A/B slot (touchHasOtaUpdateSlot() is // false), so Wi-Fi OTA can't work there — but the Launcher itself can flash an @@ -30931,7 +30931,12 @@ static void settingsCatBuild(int cat) { lv_obj_set_style_text_color(beta_note, lv_color_hex(COLOR_SUB), LV_PART_MAIN); } -#if (defined(HAS_TDECK_GT911) || defined(HAS_THINKNODE_M9) || defined(HELTEC_LORA_V4_R8)) && CAP_OTA +// Gated on the CAPABILITY, not a list of board names: this needs a writable Arduino-SD +// card and OTA, which is exactly CAP_SD && CAP_OTA. The board list had grown to three +// entries and still left the T-Lora Pager out despite it having both (#289) — every new +// board with a card had to remember to add itself here, which is the failure mode +// device_caps.h exists to prevent. +#if CAP_SD && defined(ESP32) && defined(MULTI_TRANSPORT_COMPANION) && CAP_OTA // "Save update bin to SD" — the Launcher-install update path: downloads // the app-only bin for the active channel into /BINS/ on the SD card, // named wadamesh-beta_-.bin, ready for the Launcher to