Device migrations, drivers and fixes (#571)
Device migrations: - cyd-4848S040c - guition-jc1060p470ciwy - guition-jc2432w328c - guition-jc3248w535c (known issue with display and touch, Shadowtrance will look into it) - guition-jc8048w550c - heltec-wifi-lora-32-v3 - lilygo-tdeck-max (excluding graphics) - lilygo-tdisplay - lilygo-tdisplay-s3 - lilygo-tdongle-s3 - lilygo-tlora-pager Driver migrations: - Implemented haptic driver interface in kernel - AXS15231b - BQ25896 - BQ27220 - CST328 - CST6xx - DRV2605 - JD9165 - Custom LilyGO driver for T-Lora Pager - SSD1306 - ST7701 - ST7735 - SY6970 - TCA8418 Fixes/improvements: - Boot app: support for multiple power devices, improved UI - lvgl_devices and related code: fixes for mapping - Support for arrays in dts parser
This commit is contained in:
committed by
GitHub
parent
3b5a401594
commit
d896657bf9
@@ -60,6 +60,18 @@ error_t display_set_gap(Device* device, int32_t x_gap, int32_t y_gap) {
|
||||
return DISPLAY_DRIVER_API(driver)->set_gap(device, x_gap, y_gap);
|
||||
}
|
||||
|
||||
int32_t display_get_gap_x(Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
const auto* api = DISPLAY_DRIVER_API(driver);
|
||||
return api->get_gap_x != nullptr ? api->get_gap_x(device) : 0;
|
||||
}
|
||||
|
||||
int32_t display_get_gap_y(Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
const auto* api = DISPLAY_DRIVER_API(driver);
|
||||
return api->get_gap_y != nullptr ? api->get_gap_y(device) : 0;
|
||||
}
|
||||
|
||||
error_t display_invert_color(Device* device, bool invert_color_data) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return DISPLAY_DRIVER_API(driver)->invert_color(device, invert_color_data);
|
||||
@@ -102,7 +114,11 @@ uint8_t display_get_frame_buffer_count(Device* device) {
|
||||
|
||||
error_t display_get_backlight(Device* device, Device** backlight) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return DISPLAY_DRIVER_API(driver)->get_backlight(device, backlight);
|
||||
const auto* api = DISPLAY_DRIVER_API(driver);
|
||||
if (api->get_backlight == nullptr) {
|
||||
return ERROR_NOT_SUPPORTED;
|
||||
}
|
||||
return api->get_backlight(device, backlight);
|
||||
}
|
||||
|
||||
const struct DeviceType DISPLAY_TYPE {
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
#include <tactility/drivers/haptic.h>
|
||||
#include <tactility/device.h>
|
||||
|
||||
#define HAPTIC_DRIVER_API(driver) ((HapticApi*)driver->api)
|
||||
|
||||
extern "C" {
|
||||
|
||||
error_t haptic_set_waveform(Device* device, uint8_t slot, uint8_t waveform) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return HAPTIC_DRIVER_API(driver)->set_waveform(device, slot, waveform);
|
||||
}
|
||||
|
||||
error_t haptic_select_library(Device* device, uint8_t library) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return HAPTIC_DRIVER_API(driver)->select_library(device, library);
|
||||
}
|
||||
|
||||
error_t haptic_start_playback(Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return HAPTIC_DRIVER_API(driver)->start_playback(device);
|
||||
}
|
||||
|
||||
error_t haptic_stop_playback(Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return HAPTIC_DRIVER_API(driver)->stop_playback(device);
|
||||
}
|
||||
|
||||
const DeviceType HAPTIC_TYPE {
|
||||
.name = "haptic"
|
||||
};
|
||||
|
||||
}
|
||||
@@ -8,12 +8,20 @@ extern "C" {
|
||||
|
||||
error_t pointer_enter_sleep(struct Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return POINTER_DRIVER_API(driver)->enter_sleep(device);
|
||||
const auto* api = POINTER_DRIVER_API(driver);
|
||||
if (api->enter_sleep == nullptr) {
|
||||
return ERROR_NOT_SUPPORTED;
|
||||
}
|
||||
return api->enter_sleep(device);
|
||||
}
|
||||
|
||||
error_t pointer_exit_sleep(Device* device) {
|
||||
const auto* driver = device_get_driver(device);
|
||||
return POINTER_DRIVER_API(driver)->exit_sleep(device);
|
||||
const auto* api = POINTER_DRIVER_API(driver);
|
||||
if (api->exit_sleep == nullptr) {
|
||||
return ERROR_NOT_SUPPORTED;
|
||||
}
|
||||
return api->exit_sleep(device);
|
||||
}
|
||||
|
||||
error_t pointer_read_data(Device* device, TickType_t timeout) {
|
||||
|
||||
Reference in New Issue
Block a user