Drivers, device migrations and other improvements (#566)

- RGB display driver added
- display_driver API:
  - Added software-based display rotation for screens without hardware rotation support.
  - Improved display capability detection across supported display drivers.
- lvgl_display driver:
  - Improved framebuffer handling for smoother, more reliable display updates.
  - Display gap and rotation behavior now adapts more accurately to hardware capabilities.
- Migration Crowpanel 5" basic & advance to kernel drivers
- Improve KernelDisplay app: brightness controls are hidden for displays that only support on/off operation
- device.py now allows for (non-ambiguous) partial device IDs
- TactilityKernel: Implement more tests
This commit is contained in:
Ken Van Hoeylandt
2026-07-15 22:56:21 +02:00
committed by GitHub
parent bd8fdfd858
commit 6fb2bb736c
16 changed files with 627 additions and 86 deletions
@@ -300,6 +300,9 @@ static error_t ili9341_get_backlight(Device* device, Device** backlight) {
// endregion
static const DisplayApi ili9341_display_api = {
.capabilities = DISPLAY_CAPABILITY_CAP_MIRROR | DISPLAY_CAPABILITY_CAP_SWAP_XY |
DISPLAY_CAPABILITY_CAP_SET_GAP | DISPLAY_CAPABILITY_INVERT_COLOR | DISPLAY_CAPABILITY_ON_OFF |
DISPLAY_CAPABILITY_SLEEP | DISPLAY_CAPABILITY_BACKLIGHT,
.reset = ili9341_reset,
.init = ili9341_init,
.draw_bitmap = ili9341_draw_bitmap,
@@ -318,6 +321,7 @@ static const DisplayApi ili9341_display_api = {
.get_frame_buffer = ili9341_get_frame_buffer,
.get_frame_buffer_count = ili9341_get_frame_buffer_count,
.get_backlight = ili9341_get_backlight,
.has_capability = nullptr,
};
Driver ili9341_driver = {