How volosr/wavesharecomunicators works
This repository is an ESP32-based Waveshare touchscreen interface with a generated SquareLine/LVGL screen, including a telephone-style keypad and text areas. The principal runtime path initializes board peripherals and the LVGL display/input port, creates the UI, and accepts touch-driven button events. Hardware setup, display transport, touch input, and generated UI are distinct stages; the SH8601 panel driver and I2C/PMIC support are internal layers. No README content was provided, and the main sketch and some UI event/helper implementations were not sampled, so those interactions are omitted where unsupported.
Main entry points: bsp_lvgl_port.cpp LVGL board port · WaveshareComunicators.ino Firmware entry · axp2101_bsp.cpp AXP2101 power · lcd_touch.cpp Touch panel
Components 13
Board support
- Firmware entry
WaveshareComunicators/WaveshareComunicators.ino - Board configuration
WaveshareComunicators/user_config.h - I2C bus
WaveshareComunicators/src/port_bsp/i2c_bsp.cpp - AXP2101 power
WaveshareComunicators/src/port_bsp/axp2101_bsp.cpp
Display and input
- LVGL board port
WaveshareComunicators/bsp_lvgl_port.cpp - Touch panel
WaveshareComunicators/lcd_touch.cpp
LVGL interface
- Keypad screen
WaveshareComunicators/ui_Screen1.c - UI initialization
WaveshareComunicators/ui.c - UI event handlers
WaveshareComunicators/ui.c - UI helpers
WaveshareComunicators/ui_helpers.c
Panel driver
- SH8601 panel driver
WaveshareComunicators/src/externLib/esp_lcd_sh8601.c
Other components
- Device user
- LCD hardware
Connections 14
- Firmware entry → LVGL board port: initializes
- LVGL board port → Board configuration: configures
WaveshareComunicators/bsp_lvgl_port.cpp - LVGL board port → Touch panel: creates and reads
WaveshareComunicators/bsp_lvgl_port.cpp - Touch panel → I2C bus: uses bus
WaveshareComunicators/lcd_touch.cpp - AXP2101 power → I2C bus: uses bus
WaveshareComunicators/src/port_bsp/axp2101_bsp.cpp - LVGL board port → AXP2101 power: sets power rail
WaveshareComunicators/bsp_lvgl_port.cpp - LVGL board port → SH8601 panel driver: creates panel
WaveshareComunicators/bsp_lvgl_port.cpp - SH8601 panel driver → LCD hardware: sends panel commands
WaveshareComunicators/src/externLib/esp_lcd_sh8601.c - LVGL board port → LCD hardware: flushes display
WaveshareComunicators/bsp_lvgl_port.cpp - Firmware entry → UI initialization: starts UI
- UI initialization → Keypad screen: initializes screen
WaveshareComunicators/ui.c - Keypad screen → UI event handlers: registers handlers
- UI event handlers → UI helpers: uses helpers
- Device user → LCD hardware: touches screen