Add ES3C28P device#569
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughAdds ES3C28P device metadata, ESP-IDF component registration, and a device-tree description for board hardware. The device tree configures wireless states, GPIO and battery sensing, I2S, I2C peripherals, display backlight, SPI display, and SD/MMC pins. A module implementation exports the device module and placeholder start/stop lifecycle hooks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
dbe894e to
8059f1b
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
Devices/m5stack-stickc-plus/m5stack,stickc-plus.dts (1)
20-36: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueConsider declaring the AXP192 in the devicetree.
The
mpu6886andbm8563are defined underi2c_internal, but theaxp192(typically at address0x34on this bus) is omitted. Even if the AXP192 is instantiated directly in code, adding it to the devicetree improves hardware documentation and consistency.Devices/m5stack-stickc-plus/Source/devices/Power.cpp (1)
23-25: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRemove duplicate register write.
The
AXP192_ADC_ENABLE_1register is configured with0xfftwice (lines 23 and 25). The duplicate call can be safely removed.♻️ Proposed refactor
- axp192_ioctl(driver, AXP192_ADC_ENABLE_1, 0xff); // Set all ADC enabled axp192_ioctl(driver, AXP192_CHARGE_CONTROL_1, 0xc0); // Battery charging at 4.2 V and 100 mA axp192_ioctl(driver, AXP192_ADC_ENABLE_1, 0xff); // Enable battery, AC in, Vbus, APS ADC
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e44c3f91-c642-4bb3-8ad0-17a6f5bf4f50
📒 Files selected for processing (18)
Devices/es3c28p/CMakeLists.txtDevices/es3c28p/Source/Configuration.cppDevices/es3c28p/Source/devices/Display.cppDevices/es3c28p/Source/devices/Display.hDevices/es3c28p/Source/module.cppDevices/es3c28p/device.propertiesDevices/es3c28p/devicetree.yamlDevices/es3c28p/es3c28p.dtsDevices/m5stack-stickc-plus/CMakeLists.txtDevices/m5stack-stickc-plus/Source/Configuration.cppDevices/m5stack-stickc-plus/Source/devices/Display.cppDevices/m5stack-stickc-plus/Source/devices/Display.hDevices/m5stack-stickc-plus/Source/devices/Power.cppDevices/m5stack-stickc-plus/Source/devices/Power.hDevices/m5stack-stickc-plus/Source/module.cppDevices/m5stack-stickc-plus/device.propertiesDevices/m5stack-stickc-plus/devicetree.yamlDevices/m5stack-stickc-plus/m5stack,stickc-plus.dts
8059f1b to
713c79c
Compare
- ESP32-S3 16MB flash OCT PSRAM 120M, esptoolFlashFreq 120M (IDF5.5 MSPI fix) - No deprecated HAL, pure DTS per maintainer guidance - Drivers: ili9341-module (swap-xy invert bgr 40MHz DC46 CS10), ft5x06-module (swap-xy mirror-x RST18 INT17), es8311-module (I2S0 BCLK5 WS7 DOUT8 DIN6 MCLK4 addr 0x18, i2s before i2c for phandle order), battery-sense ADC1_CH8 GPIO9 200K/200K, gpio-hog amp GPIO1 low, pwm backlight 45 - module.cpp stub + legacy hardwareConfiguration placeholder (like tdeck) - Builds with IDF 5.5.2, boots: display success, touch+audio bound, SD mounted, Launcher Verified: build/Tactility.bin 2.7M flashed to /dev/cu.usbmodem101, boot log OK, mirror-x fix (was mirrored) removed to match old working Display.cpp swap=true mirror=false
713c79c to
d70f474
Compare
|
Thanks for the guidance. I reworked the ES3C28P support to follow the current DTS module-based driver pattern. Updated branch changes:
I also built and tested this on ES3C28P hardware. The board boots, Launcher starts, display/touch work, audio binds, SD mounts, and apps run from storage. |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
Devices/es3c28p/CMakeLists.txt (1)
1-6: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueExplicitly list source files instead of using
GLOB_RECURSE.Using
file(GLOB_RECURSE ...)is discouraged in CMake because adding or removing source files won't automatically trigger a CMake reconfiguration, which can lead to stale builds. Explicitly listing source files is safer and more reliable.♻️ Proposed refactor
-file(GLOB_RECURSE SOURCE_FILES source/*.c*) - idf_component_register( - SRCS ${SOURCE_FILES} + SRCS "source/module.cpp" REQUIRES TactilityKernel Tactility )
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8c750a7f-4998-435c-ad2f-6a3b37c84deb
📒 Files selected for processing (5)
Devices/es3c28p/CMakeLists.txtDevices/es3c28p/device.propertiesDevices/es3c28p/devicetree.yamlDevices/es3c28p/es3c28p.dtsDevices/es3c28p/source/module.cpp
🚧 Files skipped from review as they are similar to previous changes (2)
- Devices/es3c28p/devicetree.yaml
- Devices/es3c28p/device.properties
… HAL - device.properties: vendor LCDWIKI -> CYD (lcdwiki is info source, per Ken) - device.properties: dependencies.useDeprecatedHal=false - CMakeLists.txt: GLOB_RECURSE -> explicit SRCS "source/module.cpp", REQUIRES TactilityKernel only - source/module.cpp: remove Tactility/hal/Configuration.h and hardwareConfiguration placeholder - Verified: boots on ES3C28P /dev/cu.usbmodem101, touch/display/audio/SD ok
|
Updated with the review feedback:
Rebuilt, flashed, and smoke-tested on the ES3C28P hardware; display, touch, audio, SD, Launcher, and apps are working. |
|
Thank you! |
Refs #568.
What this adds
Adds
Devices/es3c28pfor the LCDWIKI ES3C28P board:ili9341-moduleft5x06-modulees8311-module/esp_codec_devgpio-hogThe PR is scoped to the new device folder only.
Maintainer feedback addressed
Verification
Built and tested on ES3C28P hardware:
Hardware smoke test:
Additional checks:
Summary by CodeRabbit