|
foxBMS
1.0.0
The foxBMS Battery Management System API Documentation
|
Go to the documentation of this file.
62 #define OS_IDLE_TASK_SIZE configMINIMAL_STACK_SIZE
80 #if (configUSE_TIMERS > 0) && (configSUPPORT_STATIC_ALLOCATION == 1)
82 static StaticTask_t os_timerTaskTcbBuffer;
85 #if (configUSE_TIMERS > 0) && (configSUPPORT_STATIC_ALLOCATION == 1)
87 static StackType_t os_timerStack[configTIMER_TASK_STACK_DEPTH];
97 vTaskStartScheduler();
114 StaticTask_t **ppxIdleTaskTCBBuffer,
115 StackType_t **ppxIdleTaskStackBuffer,
116 uint32_t *pulIdleTaskStackSize) {
122 #if (configUSE_TIMERS > 0) && (configSUPPORT_STATIC_ALLOCATION == 1)
123 void vApplicationGetTimerTaskMemory(
124 StaticTask_t **ppxTimerTaskTCBBuffer,
125 StackType_t **ppxTimerTaskStackBuffer,
126 uint32_t *pulTimerTaskStackSize) {
127 *ppxTimerTaskTCBBuffer = &os_timerTaskTcbBuffer;
128 *ppxTimerTaskStackBuffer = &os_timerStack[0];
129 *pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;
175 taskENTER_CRITICAL();
183 return xTaskGetTickCount();
187 #if INCLUDE_vTaskDelay
188 TickType_t ticks = delay_ms / portTICK_PERIOD_MS;
190 vTaskDelay(ticks ? ticks : 1);
192 #error "Can't use OS_taskDelay."
197 #if INCLUDE_vTaskDelayUntil
198 TickType_t ticks = (milliseconds / portTICK_PERIOD_MS);
199 vTaskDelayUntil((TickType_t *)pPreviousWakeTime, ticks ? ticks : 1);
202 #error "Can't use OS_taskDelayUntil."
207 #if (INCLUDE_xTaskGetSchedulerState == 1)
209 if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
210 xTaskIncrementTick();
213 xTaskIncrementTick();
Implementation of the tasks used by the system, headers.
void OS_StartScheduler(void)
Starts the operating system scheduler.
volatile OS_TIMER_s os_timer
#define OS_IDLE_TASK_SIZE
void OS_DelayTaskUntil(uint32_t *pPreviousWakeTime, uint32_t milliseconds)
Delay a task until a specified time.
void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize)
Supplies the memory for the idle task.
void OS_InitializeTasks(void)
Initialization the RTOS interface.
uint32_t os_schedulerStartTime
Scheduler "zero" time for task phase control.
void vApplicationIdleHook(void)
Hook function for the idle task.
void FTSK_CreateEvents(void)
Creates all events of the group.
void OS_TriggerTimer(volatile OS_TIMER_s *timer)
Increments the system timer os_timer.
void OS_DelayTask(uint32_t delay_ms)
Delays a task in milliseconds.
#define FAS_ASSERT(x)
Assertion macro that asserts that x is true.
void OS_ExitTaskCritical(void)
Exit Critical interface function for use in FreeRTOS-Tasks and FreeRTOS-ISR.
uint32_t OS_GetTickCount(void)
Returns OS based system tick value.
Header of task driver implementation.
void FTSK_CreateMutexes(void)
Creates all mutexes.
static StackType_t os_idleStack[OS_IDLE_TASK_SIZE]
Stack for the Idle task.
static StaticTask_t os_idleTaskTcbBuffer
void OS_EnterTaskCritical(void)
Enter Critical interface function for use in FreeRTOS-Tasks and FreeRTOS-ISR.
void OS_SystemTickHandler(void)
Handles the tick increment of operating systick timer.
enum OS_BOOT_STATE OS_BOOT_STATE_e
enum of OS boot states
volatile OS_BOOT_STATE_e os_boot
void FTSK_CreateTasks(void)
Creates all tasks of the group.
void vApplicationStackOverflowHook(TaskHandle_t xTask, signed char *pcTaskName)
Hook function for StackOverflowHandling.
void FTSK_CreateQueues(void)
Creates all queues.
#define FAS_TRAP
Define that evaluates to essential boolean false thus tripping an assert.
void FTSK_UserCodeIdle(void)
Idle task.