Implement Tulip Creative Computer 4r11 - #608
Conversation
|
There is no proper fix for the display being yellow-green and the icons being a shade lighter, as that's one of the drawbacks of RGB332 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughAdds the Tulip 4R11 device component and hardware description. Extends the GT911 driver with configurable reset and coordinate calibration. Adds RGB565-to-RGB332 conversion for 8-bit displays. Adds PCM5101A compatibility to the dummy I2S amplifier driver. Applies valid saved touch calibration settings during LVGL startup. 🚥 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
Drivers/rgb-display-module/source/rgb_display.cpp (1)
240-270: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winFree
rgb332_scratchon later startup failures.If semaphore creation or callback registration fails, the function frees
internalbut leaks the RGB332 scratch buffer. A retry can leak one full-frame buffer per failed start.Proposed fix
internal->frame_complete_semaphore = xSemaphoreCreateBinary(); if (internal->frame_complete_semaphore == nullptr) { + heap_caps_free(internal->rgb332_scratch); esp_lcd_panel_del(internal->panel_handle); free(internal); return ERROR_OUT_OF_MEMORY; @@ LOG_E(TAG, "Failed to register panel event callbacks"); vSemaphoreDelete(internal->frame_complete_semaphore); + heap_caps_free(internal->rgb332_scratch); esp_lcd_panel_del(internal->panel_handle); free(internal); return ERROR_RESOURCE;
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: f1d48502-bd33-4702-b25f-d8ea6fa44b12
⛔ Files ignored due to path filters (9)
partitions-16mb-no-sd-dev.csvis excluded by!**/*.csvpartitions-16mb-no-sd.csvis excluded by!**/*.csvpartitions-16mb-with-sd.csvis excluded by!**/*.csvpartitions-32mb-no-sd-dev.csvis excluded by!**/*.csvpartitions-32mb-no-sd.csvis excluded by!**/*.csvpartitions-4mb-with-sd.csvis excluded by!**/*.csvpartitions-8mb-no-sd-dev.csvis excluded by!**/*.csvpartitions-8mb-no-sd.csvis excluded by!**/*.csvpartitions-8mb-with-sd.csvis excluded by!**/*.csv
📒 Files selected for processing (14)
Devices/tulip-4r11/CMakeLists.txtDevices/tulip-4r11/LICENSE-Apache-2.0.mdDevices/tulip-4r11/device.propertiesDevices/tulip-4r11/devicetree.yamlDevices/tulip-4r11/source/module.cppDevices/tulip-4r11/tulip-4r11.dtsDrivers/dummy-i2s-amp-module/bindings/ti,pcm5101a.yamlDrivers/dummy-i2s-amp-module/include/bindings/dummy_i2s_amp.hDrivers/dummy-i2s-amp-module/source/dummy_i2s_amp.cppDrivers/gt911-module/bindings/goodix,gt911.yamlDrivers/gt911-module/include/drivers/gt911.hDrivers/gt911-module/source/gt911.cppDrivers/rgb-display-module/source/rgb_display.cppTactility/Source/Tactility.cpp
Removed outdated comment about Tulip 4 R11 Y range.
This pull request adds support for the Tulip Creative Computer 4 (rev R11) hardware platform, including device configuration, driver bindings, and hardware-specific adjustments. The changes introduce a new device definition, update driver modules to support the Tulip 4 R11's peripherals, and enhance the GT911 touch controller driver for greater board compatibility.
Driver and binding improvements
Summary by CodeRabbit