SPI HAL implemented and more (#207)

- Cleanup unused code and move ISR/IRQ checks to `Kernel.h`
- Improve clang-format
- Fix for LVGL lock transfer: ensure lock isn't activate when changing the lock
- Implement SPI HAL
- Remove `initHardware` HAL configuration entry
- Fix `I2cScanner`: don't scan when port isn't started
This commit is contained in:
Ken Van Hoeylandt
2025-02-08 00:21:50 +01:00
committed by GitHub
parent 88b3bfbe3e
commit c1f55429b6
41 changed files with 634 additions and 428 deletions
@@ -3,6 +3,7 @@
#include "./Power.h"
#include "./SdCard.h"
#include "./i2c/I2c.h"
#include "Tactility/hal/spi/Spi.h"
namespace tt::hal {
@@ -23,41 +24,26 @@ struct Configuration {
*/
const InitBoot _Nullable initBoot = nullptr;
/**
* Called after I2C/SPI/etc is initialized.
* This can be used to communicate with built-in peripherals such as an I2C keyboard.
*/
const InitHardware _Nullable initHardware = nullptr;
/**
* Create and initialize all LVGL devices. (e.g. display, touch, keyboard)
*/
/** Create and initialize all LVGL devices. (e.g. display, touch, keyboard) */
const InitLvgl _Nullable initLvgl = nullptr;
/**
* Display HAL functionality.
*/
/** Display HAL functionality. */
const CreateDisplay _Nullable createDisplay = nullptr;
/**
* Display HAL functionality.
*/
/** Display HAL functionality. */
const CreateKeyboard _Nullable createKeyboard = nullptr;
/**
* An optional SD card interface.
*/
/** An optional SD card interface. */
const std::shared_ptr<SdCard> _Nullable sdcard = nullptr;
/**
* An optional power interface for battery or other power delivery.
*/
/** An optional power interface for battery or other power delivery. */
const CreatePower _Nullable power = nullptr;
/**
* A list of i2c interfaces
*/
/** A list of I2C interfaces */
const std::vector<i2c::Configuration> i2c = {};
/** A list of SPI interfaces */
const std::vector<spi::Configuration> spi = {};
};
} // namespace