55 #ifndef FOXBMS__OS_FREERTOS_CONFIG_VALIDATION_H_
56 #define FOXBMS__OS_FREERTOS_CONFIG_VALIDATION_H_
63 #include "FreeRTOSConfig.h"
71 #if !defined(INCLUDE_vTaskDelayUntil)
73 "foxBMS requires using FreeRTOS 'vTaskDelayUntil' (wrapped in 'OS_taskDelayUntil'), therefore 'INCLUDE_vTaskDelayUntil' must be defined to '1'."
76 #if !defined(INCLUDE_xTaskGetSchedulerState)
78 "foxBMS requires using FreeRTOS 'xTaskGetSchedulerState' therefore 'INCLUDE_xTaskGetSchedulerState' must be defined to '1'."
83 "Size of the 'Engine' task is too small.");
86 "Size of the '1ms cyclic' task is too small.");
89 "Size of the '10ms cyclic' task is too small.");
92 "Size of the '100ms cyclic' task is too small.");
95 "Size of the '100ms cyclic algorithm' task is too small.");
97 (
sizeof(StackType_t) ==
sizeof(uint32_t)),
98 "Assumptions on the size of StackType_t have been broken.");
105 #ifdef UNITY_UNIT_TEST
Assert macro implementation.
Task configuration header.
#define FTSK_TASK_CYCLIC_1MS_STACK_SIZE_IN_BYTES
Stack size of cyclic 1 ms task.
#define FTSK_TASK_ENGINE_STACK_SIZE_IN_BYTES
Stack size of engine task.
#define FTSK_TASK_CYCLIC_100MS_STACK_SIZE_IN_BYTES
Stack size of cyclic 100 ms task.
#define FTSK_TASK_CYCLIC_10MS_STACK_SIZE_IN_BYTES
Stack size of cyclic 10 ms task.
#define FTSK_TASK_CYCLIC_ALGORITHM_100MS_STACK_SIZE_IN_BYTES
Stack size of cyclic 100 ms task for algorithms.
General macros and definitions for the whole platform.
#define GEN_BYTES_PER_WORD
FAS_STATIC_ASSERT((configMINIMAL_STACK_SIZE *GEN_BYTES_PER_WORD)<(StackType_t) FTSK_TASK_ENGINE_STACK_SIZE_IN_BYTES, "Size of the 'Engine' task is too small.")