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:
committed by
GitHub
parent
bd8fdfd858
commit
6fb2bb736c
@@ -6,6 +6,15 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
bool display_has_capability(struct Device* device, uint32_t capability) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
const auto* api = DISPLAY_DRIVER_API(driver);
|
||||
if (api->has_capability != nullptr) {
|
||||
return api->has_capability(device, capability);
|
||||
}
|
||||
return (api->capabilities & capability) == capability;
|
||||
}
|
||||
|
||||
error_t display_reset(Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return DISPLAY_DRIVER_API(driver)->reset(device);
|
||||
|
||||
Reference in New Issue
Block a user