This C++ library is intended to support the following scenarios with enhanced screen UI:
- Integrated with meshtastic firmware for LoRa devices with TFT display (or potentially also OLED +PSRAM)
- Stand-alone TFT+MCU devices such as WT32-SC01, CYD or T-HMI connected with meshtastic LoRa devices
- Linux based devices with LoRa shield, e.g Raspberry Pi, Meshstick, Milk-V Duo/Mars with TFT display (hat or diy)
- Native Linux X11 application with SimRadio e.g. for tests, GUI simulation & debugging (MQTT only application)
Vectors and icons by SVG Repo
Graphics using LVGL library
- LILYGO T-Deck / T-Deck Plus
- LILYGO T-Lora Pager
- LILYGO T-Watch S3
- LILYGO T-Watch Ultra
- LILYGO T-Display Pro S3
- Seeed SenseCAP Indicator
- Seeed Wio Tracker L2
- Seeed Mesh Tracker X2
- Heltec V4 / V4 R8 TFT
- Elecrow ThinkNode M9
- Elecrow ThinkNode MX
- Elecrow CrowPanel Advance S3 (2.4"/2.8"/3.5")
- Elecrow CrowPanel Advance P4 (5.0"/7.0"/9.0"/10.1")
- RAK WisMesh TAB V2
- unPhone
- PICOmputer S3
- LilyGo T-HMI (320x240)
- Replicator 4848S040 (esp32 + nrf52 radio)
- Makerfabs (480x480)
- WT32-SC01 (Plus) (480x320)
- NM CYD C5 (320x240, 8MB PSRAM)
- JC4827W543C
- Sunton/EstarDyn CYD (original - no longer working due to insufficient memory)
- Generic ESP32 + ILI9341/ST7789/ILI9488 + XPT2046/FT6236 (see Mesh-Tab below)
- NodeMCU-32S + ILI9341/XPT2046
- Makerfabs 480x480
- ESP32 4848S040
- Overall design (MVC approach)
- DisplayDriver inheritance hierarchy
- DisplayDriver factory
- TFT Driver
- OLED Driver
- E-Ink Driver
- View hierarchy
- View factory
- Controller design and interface implementation
- Controller <-> model interface
- Packet based thread safe interface
- serial communication interface
- protobuf encoding/decoding
- Logging interface
- Add lvgl compatible input driver interface
- Add interface for persistency
- Screen calibration data
- Device settings (General)
- Message storage
- Serial connection config
- Dynamic behavior
- Startup config
- Restart behavior
- Display sleep
- Heartbeat timer based on device input actions
- Localisation support
- Bulgarian translation
- Czech translation
- Danish translation
- Dutch translation
- Finnish translation
- French translation
- German translation
- Greek translation
- Hungary translation
- Italian translation
- Netherlands translation
- Norwegian translation
- Polish translation
- Portuguese translation
- Russian translation
- Slovenian translation
- Spanish translation
- Swedish translation
- Turkish translation
- Ukrainian translation
- Support dynamic OLED / Color(TFT) selection
- Add support for UI scaling and try eliminate fixed positioning (lvgl v9)
- Allow co-existence of generated files/views by different eez-studio projects
- Douple display buffer DMA (P4 only)
- E-Ink support
- RP2350 support
- Boot screen
- Customizable boot screen
- Home Screen
- Messages info
- Nodes info
- Time and Date
- LoRa info
- GPS info
- WiFi info
- MQTT info
- SD card info
- Free memory info
- Node fingerprint info
- Nodes panel
- Scroll display and sorting
- Node details
- Position data
- Telemetry data display
- Repeater support (manual insertion)
- LastHeard & time source handling improvements
- Remote Node configuration
- Filter (offline, unknown, channel, public key, position, hops away, by name)
- Highlight (position, telemetry, IAQ, by name)
- Group channel panel
- Chat panel
- Scroll container and messages display
- Virtual keyboard
- Message acknowledgement
- Delete chat
- Map
- Tiles dynamic loading
- SD card
- WLAN
- Pan & Zoom
- Node locations
- PMTiles support
- Location precision
- Geofence
- Tiles dynamic loading
- Settings
- Basic Settings
- User name
- Region
- Modem Preset
- Channel
- Device Role
- Screen Timeout
- Screen Calibration
- Screen Lock
- Brightness
- Input Control
- Message Alert / Ringtones
- Language
- Timezone
- Maps
- Audio
- NodeDB / Factory Reset / Chat History
- Reboot / BT Programming / Shutdown
- Advanced Settings
- General Settings
- Radio Settings
- Module Settings
- Basic Settings
- Status bar with battery symbol
- UI Keyboard navigation & control
- Latin supplemental fonts
- Cyrillic font glyphs
- Provide demo for OLED 128x64 screen
- Space and RAM requirements analysis
- Project integration into firmware
- Display driver run-time configuration interface
- Add missing settingsMap entries for DisplayDriverConfig
- Integrate lvgl keyboard input driver
- Add support for several SPI devices
- Add pwm brightness control
- IP address display (eth/wlan)
- Target environment cleanup
- SDL support
- Dedicated standalone-ui project
- Sunton/EstarDyn CYD support (320x240) Note: no longer working due to insufficient memory
- NM CYD C5 (320x240) with 8MB PSRAM
- LilyGo T-HMI support (320x240)
- Replicator support (esp32 + nrf52 radio)
- Display driver
- 480x480 view -> scaled 320x240
- WT32-SC01 (Plus) support (480x320)
- Display driver
- 480x320 view -> scaled 320x240
- image size reduction
- Fix/Workaround serial light sleep UART reading issue (-> firmware)
- Heartbeat timer improvements
- Serial data send/receive
- UART connection support
- TCP/IP connection support
- WLAN connection support
- Bluetooth connection support
- Serial Interface configuration UI screen
- Allow serial connection initialisation at runtime



