62 #define OS_IDLE_TASK_STACK_SIZE configMINIMAL_STACK_SIZE
64 #if (configUSE_TIMERS > 0) && (configSUPPORT_STATIC_ALLOCATION == 1)
65 #define OS_TIMER_TASK_STACK_SIZE configTIMER_TASK_STACK_DEPTH
84 #if (configUSE_TIMERS > 0) && (configSUPPORT_STATIC_ALLOCATION == 1)
86 static StaticTask_t os_timerTaskTcbBuffer;
89 #if (configUSE_TIMERS > 0) && (configSUPPORT_STATIC_ALLOCATION == 1)
91 static StackType_t os_stackSizeTimer[OS_TIMER_TASK_STACK_SIZE];
101 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_stackSizeTimer[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();
#define FAS_ASSERT(x)
Assertion macro that asserts that x is true.
#define FAS_TRAP
Define that evaluates to essential boolean false thus tripping an assert.
void FTSK_CreateTasks(void)
Creates all tasks of the group.
void FTSK_CreateQueues(void)
Creates all queues.
Header of task driver implementation.
void FTSK_RunUserCodeIdle(void)
Idle task.
void vApplicationGetIdleTaskMemory(StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize)
Supplies the memory for the idle task.
void OS_StartScheduler(void)
Starts the operating system scheduler.
void OS_SystemTickHandler(void)
Handles the tick increment of operating systick timer.
void OS_DelayTaskUntil(uint32_t *pPreviousWakeTime, uint32_t milliseconds)
Delay a task until a specified time.
uint32_t os_schedulerStartTime
Scheduler "zero" time for task phase control.
void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName)
Hook function for StackOverflowHandling.
static StackType_t os_stackSizeIdle[OS_IDLE_TASK_STACK_SIZE]
Stack for the Idle task.
void OS_ExitTaskCritical(void)
Exit Critical interface function for use in FreeRTOS-Tasks and FreeRTOS-ISR.
void OS_InitializeOperatingSystem(void)
Initialization the RTOS interface.
void vApplicationIdleHook(void)
Hook function for the idle task.
volatile OS_TIMER_s os_timer
#define OS_IDLE_TASK_STACK_SIZE
void OS_TriggerTimer(volatile OS_TIMER_s *timer)
Increments the system timer os_timer.
void OS_EnterTaskCritical(void)
Enter Critical interface function for use in FreeRTOS-Tasks and FreeRTOS-ISR.
void OS_DelayTask(uint32_t delay_ms)
Delays a task in milliseconds.
uint32_t OS_GetTickCount(void)
Returns OS based system tick value.
volatile OS_BOOT_STATE_e os_boot
static StaticTask_t os_idleTaskTcbBuffer
Implementation of the tasks used by the system, headers.
enum OS_BOOT_STATE OS_BOOT_STATE_e
enum of OS boot states