Merge develop into main (#307)
## Launcher - Launcher now has optional power button to show - Launcher layout improvements - Removed text from Launcher (translations with larger amounts of text did not fit small device formats) ## T-Lora Pager - Implement power off (created `BQ25896` driver) - Implemented haptics (created `DRV2605` driver project) and buzz on startup - Reversed scroll wheel - Created `TloraEncoder` device and relocated its logic from `TloraKeyboard` - Disabled SPIRAM test to save 0.5 seconds of boot time (current boot time is very slow) - Update `ST7796` esp_lcd driver to v1.3.4 - Fixed keyboard bug: delete queue in destructor - Fixed driver dependencies: Avoiding usage of global static shared_ptr. Properly constructor-inject everywhere, or use `tt::hal::findDevices()` - I2C configuration is now immutable (you cannot disable it anymore from the I2C Settings app, as it would break crucial drivers) - Renamed I2C and UART subsystems to "Internal" ## Drivers - On/off interface added to `PowerDevice` - Created `tt::hal::Configuration.createDevices`, which is intended to replace all custom create calls for display, keyboard, etc. - Created `EncoderDevice` as a `Device` subtype ## Other Improvements - Changed `findDevices(type, function)` into a templatized function. - Improved SD card mounting ## Fixes - Show Screenshot app again - Fixed Statusbar: some updates were allowed to time out and fail silently: When the Statusbar service would do a state update, the LVGL statusbar would never get updated due to this timeout. - Fixed memory leaks in all `createSdCard()` functions (in most board implementations)
This commit is contained in:
committed by
GitHub
parent
e9f72490fc
commit
50007ea9ed
@@ -17,6 +17,10 @@ typedef std::shared_ptr<display::DisplayDevice> (*CreateDisplay)();
|
||||
typedef std::shared_ptr<keyboard::KeyboardDevice> (*CreateKeyboard)();
|
||||
typedef std::shared_ptr<power::PowerDevice> (*CreatePower)();
|
||||
|
||||
typedef std::vector<std::shared_ptr<Device>> DeviceVector;
|
||||
|
||||
typedef std::shared_ptr<Device> (*CreateDevice)();
|
||||
|
||||
enum class LvglInit {
|
||||
Default,
|
||||
None
|
||||
@@ -33,17 +37,23 @@ struct Configuration {
|
||||
const LvglInit lvglInit = LvglInit::Default;
|
||||
|
||||
/** Display HAL functionality. */
|
||||
[[deprecated("use createDevices")]]
|
||||
const CreateDisplay _Nullable createDisplay = nullptr;
|
||||
|
||||
/** Keyboard HAL functionality. */
|
||||
[[deprecated("use createDevices")]]
|
||||
const CreateKeyboard _Nullable createKeyboard = nullptr;
|
||||
|
||||
/** An optional SD card interface. */
|
||||
[[deprecated("use createDevices")]]
|
||||
const std::shared_ptr<sdcard::SdCardDevice> _Nullable sdcard = nullptr;
|
||||
|
||||
/** An optional power interface for battery or other power delivery. */
|
||||
[[deprecated("use createDevices")]]
|
||||
const CreatePower _Nullable power = nullptr;
|
||||
|
||||
std::function<DeviceVector()> createDevices = [] { return std::vector<std::shared_ptr<Device>>(); };
|
||||
|
||||
/** A list of I2C interface configurations */
|
||||
const std::vector<i2c::Configuration> i2c = {};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user