Files
xiaozhi-esp32/main/boards/lilygo-t-display-p4
Xiaoxia b7db68457c v2.1.0: Upgrade esp-wifi-connect to 3.0; New device state machine (#1528)
* Upgrade component version

* update fonts component version

* Handle OTA error code

* Update project version to 2.1.0 and add device state machine implementation

- Upgrade  esp-wifi-connect to 3.0.0, allowing reconfiguring wifi without rebooting
- Introduce device state machine with state change notification in new files
- Remove obsolete device state event files
- Update application logic to utilize new state machine
- Minor adjustments in various board implementations for state handling

* fix compile errors

* Refactor power saving mode implementation to use PowerSaveLevel enumeration

- Updated Application class to replace SetPowerSaveMode with SetPowerSaveLevel, allowing for LOW_POWER and PERFORMANCE settings.
- Modified various board implementations to align with the new power save level structure.
- Ensured consistent handling of power save levels across different board files, enhancing code maintainability and clarity.

* Refactor power save level checks across multiple board implementations

- Updated the condition for power save level checks in various board files to ensure that the power save timer only wakes up when the level is not set to LOW_POWER.
- Improved consistency in handling power save levels, enhancing code clarity and maintainability.

* Refactor EnterWifiConfigMode calls in board implementations

- Updated calls to EnterWifiConfigMode to use the appropriate instance reference (self or board) across multiple board files.
- Improved code consistency and clarity in handling device state during WiFi configuration mode entry.

* Add cellular modem event handling and improve network status updates

- Introduced new network events for cellular modem operations, including detecting, registration errors, and timeouts.
- Enhanced the Application class to handle different network states and update the display status accordingly.
- Refactored Ml307Board to implement a callback mechanism for network events, improving modularity and responsiveness.
- Updated dual_network_board and board headers to support new network event callbacks, ensuring consistent handling across board implementations.

* update esp-wifi-connect version

* Update WiFi configuration tool messages across multiple board implementations to clarify user actions
2025-12-09 09:24:56 +08:00
..

LILYGO T-Display-P4

The T-Display-P4 is a versatile development board based on the ESP32-P4 core. Its features include:

  1. High Processing Power: Equipped with the high-performance ESP32-P4 core processor, it can handle more complex graphics and video tasks, delivering smoother display performance.
  2. Low Power Design: Offers multiple selectable power modes to effectively reduce energy consumption and extend battery life.
  3. High-Resolution Display: Supports high resolution (default with a large MIPI interface screen at 540x1168px), providing sharp and clear visuals.
  4. Rich Peripheral Support: Onboard peripherals include an HD MIPI touchscreen, ESP32-C6 module, speaker, microphone, LoRa module, GPS module, Ethernet, a linear vibration motor, an independent battery gauge for monitoring battery health and percentage, and an MIPI camera. Multiple GPIOs of both the ESP32-P4 and ESP32-C6 are exposed, enhancing the device's expandability.

Official github: T-Display-P4

Configuration

ESP32P4 Configuration

  • Set the compilation target to ESP32P4

      idf.py set-target esp32p4
    
  • Open menuconfig

      idf.py menuconfig
    
  • Select the board

      Xiaozhi Assistant -> Board Type -> LILYGO T-Display-P4
    
  • Select the screen type

      Xiaozhi Assistant -> Select the screen type -> (Select the screen type you need to configure)
    
  • Screen the screen pixel format

      Xiaozhi Assistant -> Select the color format of the screen -> (Select the screen pixel format you need to configure)
    
  • Build

      idf.py build
    

ESP32C6 Configuration

  • Flash the slave example from the esp-hosted-mcu library for the target chip ESP32C6. The esp-hosted-mcu version must match the one used in the xiaozhi-esp32 library.