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
@@ -28,6 +28,13 @@ struct LvglDisplayConfig {
* Ignored when the device exposes its own frame buffer(s).
*/
bool double_buffer;
/**
* Rotate LVGL_rendered content in software instead of calling display_swap_xy()/display_mirror()
* on the device. Use this for panels whose driver can't rotate in hardware (e.g. RGB/DPI panels).
* Allocates one extra buffer sized like the primary draw buffer.
*/
bool sw_rotate;
};
/**