Rework CAN bus system task

This commit is contained in:
Henrik Stickann
2023-01-21 22:18:16 +01:00
parent d323d2ada5
commit ecacb923f2
2 changed files with 406 additions and 288 deletions

View File

@@ -5,8 +5,6 @@
#ifndef STA_RTOS_SYSTEM_CAN_BUS_HPP
#define STA_RTOS_SYSTEM_CAN_BUS_HPP
#include <sta/rtos/system/names.hpp>
/**
* @defgroup STA_RTOS_CanBus CAN driver
@@ -25,30 +23,12 @@
# define STA_RTOS_CAN_BUS_ENABLE
#endif // DOXYGEN
/**
* @def STA_RTOS_CAN_BUS_TASK_NAME
* @brief Set name of CAN driver task.
*
* @ingroup STA_RTOS_BuildConfig
*/
#ifndef STA_RTOS_CAN_BUS_TASK_NAME
# define STA_RTOS_CAN_BUS_TASK_NAME canBus
#endif // !STA_RTOS_CAN_BUS_TASK_NAME
/**
* @def STA_RTOS_CAN_BUS_ENTRY_FUNCTION
* @brief Set name of CAN driver task entry function.
*
* @ingroup STA_RTOS_BuildConfig
*/
#ifndef STA_RTOS_CAN_BUS_ENTRY_FUNCTION
# define STA_RTOS_CAN_BUS_ENTRY_FUNCTION STA_RTOS_MAKE_ENTRY_NAME(STA_RTOS_CAN_BUS_TASK_NAME)
#endif // !STA_RTOS_CAN_BUS_ENTRY_FUNCTION
#include <sta/config.hpp>
#ifdef STA_RTOS_CAN_BUS_ENABLE
#include <sta/can/controller.hpp>
#include <sta/rtos/system/can_msg.h>
#include <cstdint>
@@ -121,13 +101,18 @@ namespace sta
* @{
*/
/**
* @brief Initialize CAN bus.
*/
void initCanBus();
/**
* @brief Extra initialization run at start of CAN bus task.
* @brief Return CanController for use in CAN system task.
*
* May be overridden by application if required.
* Implementation must be provided by application.
*/
void setupCanBus();
extern CanController * getCanController();