Simplify LVGL init: move code into Tactility (#208)
The esp_lvgl_port code was duplicated across all boards, so I moved it into the Tactility subproject to simplify the board implementations.
This commit is contained in:
committed by
GitHub
parent
c1f55429b6
commit
8ccba15c25
@@ -1,6 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include "./Power.h"
|
||||
#include "./SdCard.h"
|
||||
#include "./i2c/I2c.h"
|
||||
#include "Tactility/hal/spi/Spi.h"
|
||||
@@ -8,15 +7,19 @@
|
||||
namespace tt::hal {
|
||||
|
||||
typedef bool (*InitBoot)();
|
||||
typedef bool (*InitHardware)();
|
||||
typedef bool (*InitLvgl)();
|
||||
|
||||
class Display;
|
||||
class Keyboard;
|
||||
class Power;
|
||||
typedef std::shared_ptr<Display> (*CreateDisplay)();
|
||||
typedef std::shared_ptr<Keyboard> (*CreateKeyboard)();
|
||||
typedef std::shared_ptr<Power> (*CreatePower)();
|
||||
|
||||
enum class LvglInit {
|
||||
Default,
|
||||
None
|
||||
};
|
||||
|
||||
struct Configuration {
|
||||
/**
|
||||
* Called before I2C/SPI/etc is initialized.
|
||||
@@ -24,13 +27,13 @@ struct Configuration {
|
||||
*/
|
||||
const InitBoot _Nullable initBoot = nullptr;
|
||||
|
||||
/** Create and initialize all LVGL devices. (e.g. display, touch, keyboard) */
|
||||
const InitLvgl _Nullable initLvgl = nullptr;
|
||||
/** Init behaviour: default (esp_lvgl_port for ESP32, nothing for PC) or None (nothing on any platform). Only used in Tactility, not in TactilityHeadless. */
|
||||
const LvglInit lvglInit = LvglInit::Default;
|
||||
|
||||
/** Display HAL functionality. */
|
||||
const CreateDisplay _Nullable createDisplay = nullptr;
|
||||
|
||||
/** Display HAL functionality. */
|
||||
/** Keyboard HAL functionality. */
|
||||
const CreateKeyboard _Nullable createKeyboard = nullptr;
|
||||
|
||||
/** An optional SD card interface. */
|
||||
|
||||
Reference in New Issue
Block a user