diff --git a/include/sta/rtos/system/can_bus.hpp b/include/sta/rtos/system/can_bus.hpp index bef0c11..71a5591 100644 --- a/include/sta/rtos/system/can_bus.hpp +++ b/include/sta/rtos/system/can_bus.hpp @@ -29,8 +29,7 @@ #include #ifdef STA_RTOS_CAN_BUS_ENABLE - -#include +#include #include #include diff --git a/src/system/can_bus.cpp b/src/system/can_bus.cpp index 2c1b26c..8efe9fa 100644 --- a/src/system/can_bus.cpp +++ b/src/system/can_bus.cpp @@ -10,7 +10,7 @@ #ifdef STA_RTOS_CAN_BUS_ENABLE #include -#include +#include #include #include #include @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include @@ -28,10 +28,6 @@ namespace { - StaticTask_t canBusCB; - StaticQueue_t canBusDataQueueCB; - StaticQueue_t canBusSysQueueCB; - osThreadId_t canBusTaskHandle = nullptr; osMessageQueueId_t canBusDataQueueHandle = nullptr; osMessageQueueId_t canBusSysQueueHandle = nullptr; @@ -388,65 +384,4 @@ namespace sta } } // namespace sta - - -/** - * @brief CAN driver thread entry function. - */ -void canBusTask(void *) -{ - using namespace sta; - - STA_ASSERT_MSG(canBusController != nullptr, "System CAN bus not initialized"); - - // Setup ISO-TP transceiver - AlpakaCanBus canBus(canBusController, HAL_GetTick, dummy::handleSysMessage, dummy::handleDataMessage); - - while (true) - { - uint32_t flags = osThreadFlagsWait(STA_RTOS_THREAD_FLAGS_VALID_BITS, osFlagsWaitAny, 50); - - if (flags != static_cast(osErrorTimeout)) - { - STA_ASSERT_MSG((flags & osStatusReserved) == flags, "Unexpected error occurred in wait"); - - if (flags & STA_RTOS_CAN_FLAG_SYS_QUEUED) - { - // Take messages from queue until empty - CanSysMsg msg; - while (rtos::getCanBusMsg(&msg, 0)) - { - canBus.send(msg); - } - } - - if (flags & STA_RTOS_CAN_FLAG_DATA_QUEUED) - { - // Take messages from queue until empty - CanDataMsg msg; - while (rtos::getCanBusMsg(&msg, 0)) - { - canBus.send(msg); - } - } - - if (flags & STA_RTOS_CAN_FLAG_MSG_AVAIL) - { - STA_DEBUG_PRINTLN("[event] CAN INT"); - - canBus.processRx(); - } - - if (flags & STA_RTOS_CAN_FLAG_SHOW_STATS) - { - canBus.showStatistics(); - } - } - - // Process ISOTP transmissions - canBus.processTx(); - } -} - - #endif // STA_RTOS_CAN_BUS_ENABLE