Skip to content

0.2.24#207

Merged
lovyan03 merged 12 commits into
masterfrom
develop
Jun 24, 2026
Merged

0.2.24#207
lovyan03 merged 12 commits into
masterfrom
develop

Conversation

@lovyan03

Copy link
Copy Markdown
Collaborator

This pull request updates the M5GFX library to version 0.2.24, introducing support for new hardware and making various improvements to the codebase and examples. The most important changes are grouped below:

New Hardware Support

  • Added support for the ESP32-S2 platform by including src/lgfx/v1/platforms/esp32s2/*.cpp in the CMake build configuration.
  • Added new panel and touch driver support: Panel_CO5300 and Touch_CHSC6540 are now included in the build. [1] [2]
  • The custom Touch_M5Tough implementation has been removed, as its functionality is now integrated into Touch_CHSC6540.

Example Enhancements

  • All basic examples now include commented-out lines for using the new M5UnitPoEP4HDMI display, making it easier for users to test this hardware. [1] [2] [3] [4] [5] [6] [7] [8] [9]
  • In AnalogMeter.ino, the color constant was renamed from TFT_GREY to TFT_METER_GREY for clarity, and its usage was updated accordingly. [1] [2]

Example Code Maintenance

  • The main loop and setup functions in TFT_graphicstest_PDQ.ino were refactored and restored, ensuring the benchmark tests display and run correctly. [1] [2]

Version Updates

  • The library version was bumped to 0.2.24 in all relevant metadata files: library.json, library.properties, and idf_component.yml. [1] [2] [3]

TinyuZhao and others added 12 commits June 17, 2026 09:47
Use nonswapped RGB888 for LT8912B HDMI output.
…ibility

Platform layer:
- Add CONFIG_IDF_TARGET_ESP32C5/C2/C61 to device.hpp, common.hpp, common.cpp
- Guard GDMA register access with __has_include(<soc/gdma_struct.h>) for chips
  that no longer ship gdma_struct.h / gdma_reg.h (ESP32-C5, C61, H4)
- Replace GPIO_PIN_MUX_REG lookup table with weak-symbol + fallback calculation
  (IO_MUX_GPIO0_REG + pin * 4) for chips where IDF dropped the array
- Fix Bus_SPI.cpp GDMA conditionals to avoid falling into legacy ESP32 DMA path
  on new RISC-V chips

Misc sync with LovyanGFX upstream:
- CMakeLists.txt: add missing esp32s2 platform glob
- device.hpp: move Panel_CVBS include from ESP32P4 to ESP32 block
- Panel_LT8912B.cpp: add ESP-IDF v6.0 compatibility
- Panel_CO5300: extract from Panel_AMOLED.hpp into separate header
  (LovyanGFX base version for T-Watch-Ultra, 502x410)
- Panel_AMOLED.hpp: remove inline Panel_CO5300 definition
New board - M5ToughC5 (ESP32-C5):
- Autodetect via M5PM1 (0x6E) + M5IOE1 (0x4F) on I2C0 (SDA=2, SCL=3)
- ILI9342c 320x240 SPI LCD (CS=25, DC=26, MOSI=7, MISO=8, SCLK=9)
- Backlight/reset/enable via M5IOE1 I/O expander
- Touch reset via M5PM1 GPIO2
- board_M5ToughC5 added to boards.hpp
- SDL simulator title entry added

Touch_CHSC6540 driver (new):
- Chipsemi CHSC6540 capacitive touch controller (I2C addr 0x2E)
- 12-bit coordinates, up to 2 touch points
- Replaces inline Touch_M5Tough / Touch_M5ToughC5 in M5GFX.cpp
- Used by both M5Tough (ESP32) and M5ToughC5 (ESP32-C5)

Panel_StopWatch:
- Inherits Panel_CO5300 with M5StopWatch-specific init commands (480x480)

Verified on M5ToughC5 V0.6 hardware with IDF v5.5.4.
Remove std:: prefix from integer types (uint8_t, int32_t, etc.)
which are not in namespace std without <cstdint> being included.
@lovyan03 lovyan03 merged commit c64a65e into master Jun 24, 2026
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants