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
+4
View File
@@ -294,6 +294,9 @@ static error_t st7789_get_backlight(Device* device, Device** backlight) {
// endregion
static const DisplayApi st7789_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 = st7789_reset,
.init = st7789_init,
.draw_bitmap = st7789_draw_bitmap,
@@ -312,6 +315,7 @@ static const DisplayApi st7789_display_api = {
.get_frame_buffer = st7789_get_frame_buffer,
.get_frame_buffer_count = st7789_get_frame_buffer_count,
.get_backlight = st7789_get_backlight,
.has_capability = nullptr,
};
Driver st7789_driver = {