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
+6 -6
View File
@@ -206,7 +206,7 @@ uint32_t Thread::setFlags(ThreadId threadId, uint32_t flags) {
} else {
rflags = (uint32_t)EventFlag::Error;
if (TT_IS_IRQ_MODE()) {
if (kernel::isIsr()) {
yield = pdFALSE;
(void)xTaskNotifyIndexedFromISR(hTask, THREAD_NOTIFY_INDEX, flags, eSetBits, &yield);
@@ -228,7 +228,7 @@ uint32_t Thread::clearFlags(uint32_t flags) {
TaskHandle_t hTask;
uint32_t rflags, cflags;
if (TT_IS_IRQ_MODE()) {
if (kernel::isIsr()) {
rflags = (uint32_t)EventFlag::ErrorISR;
} else if ((flags & THREAD_FLAGS_INVALID_BITS) != 0U) {
rflags = (uint32_t)EventFlag::ErrorParameter;
@@ -257,7 +257,7 @@ uint32_t Thread::getFlags() {
TaskHandle_t hTask;
uint32_t rflags;
if (TT_IS_IRQ_MODE()) {
if (kernel::isIsr()) {
rflags = (uint32_t)EventFlag::ErrorISR;
} else {
hTask = xTaskGetCurrentTaskHandle();
@@ -277,7 +277,7 @@ uint32_t Thread::awaitFlags(uint32_t flags, uint32_t options, uint32_t timeout)
TickType_t t0, td, tout;
BaseType_t rval;
if (TT_IS_IRQ_MODE()) {
if (kernel::isIsr()) {
rflags = (uint32_t)EventFlag::ErrorISR;
} else if ((flags & THREAD_FLAGS_INVALID_BITS) != 0U) {
rflags = (uint32_t)EventFlag::ErrorParameter;
@@ -345,7 +345,7 @@ uint32_t Thread::getStackSpace(ThreadId threadId) {
auto hTask = (TaskHandle_t)threadId;
uint32_t sz;
if (TT_IS_IRQ_MODE() || (hTask == nullptr)) {
if (kernel::isIsr() || (hTask == nullptr)) {
sz = 0U;
} else {
sz = (uint32_t)(uxTaskGetStackHighWaterMark(hTask) * sizeof(StackType_t));
@@ -361,7 +361,7 @@ void Thread::suspend(ThreadId threadId) {
void Thread::resume(ThreadId threadId) {
auto hTask = (TaskHandle_t)threadId;
if (TT_IS_IRQ_MODE()) {
if (kernel::isIsr()) {
xTaskResumeFromISR(hTask);
} else {
vTaskResume(hTask);