VSF Documented
Data Structures | Macros | Typedefs | Functions
freertos_generic.c File Reference
#include "hal/arch/vsf_arch_abstraction.h"
#include "hal/arch/__vsf_arch_interface.h"
#include "FreeRTOS.h"
#include "event_groups.h"
#include "timers.h"

Data Structures

struct  __vsf_freertos_t
 

Macros

#define __VSF_ARCH_RTOS_MODEL_IMPLEMENT
 
#define VSF_ARCH_RTOS_CFG_BASE_PRIORITY   1
 
#define arch_prio_to_rtos_prio(__arch_prio)   ((__arch_prio) + VSF_ARCH_RTOS_CFG_BASE_PRIORITY + 1)
 
#define rtos_prio_to_arch_prio(__rtos_prio)   ((__rtos_prio) - (VSF_ARCH_RTOS_CFG_BASE_PRIORITY + 1))
 
#define VSF_ARCH_RTOS_CFG_MAIN_STACK_DEPTH   VSF_ARCH_RTOS_CFG_STACK_DEPTH
 
#define VSF_ARCH_FREERTOS_CFG_IRQ_DEPTH   8
 

Typedefs

typedef struct __vsf_freertos_t __vsf_freertos_t
 

Functions

vsf_gint_state_t vsf_get_interrupt (void)
 
vsf_gint_state_t vsf_set_interrupt (vsf_gint_state_t level)
 
vsf_gint_state_t vsf_disable_interrupt (void)
 
vsf_gint_state_t vsf_enable_interrupt (void)
 
void __vsf_arch_irq_enter (void)
 
void __vsf_arch_irq_leave (void)
 
void __vsf_arch_irq_request_init (vsf_arch_irq_request_t *request, bool is_auto_reset)
 
void __vsf_arch_irq_request_fini (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_request_pend (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_request_send (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_request_reset (vsf_arch_irq_request_t *request)
 
void __vsf_arch_irq_init (vsf_arch_irq_thread_t *irq_thread, const char *const name, vsf_arch_irq_thread_entry_t entry, vsf_arch_prio_t priority, VSF_ARCH_RTOS_STACK_T *stack, uint_fast32_t stack_depth)
 
void __vsf_arch_irq_exit (vsf_arch_irq_thread_t *irq_thread)
 
void __vsf_arch_irq_set_priority (vsf_arch_irq_thread_t *irq_thread, vsf_arch_prio_t priority)
 
vsf_err_t __vsf_arch_irq_restart (vsf_arch_irq_thread_t *irq_thread, vsf_arch_irq_request_t *request_pending)
 
void __vsf_arch_irq_suspend (vsf_arch_irq_thread_t *irq_thread)
 
void __vsf_arch_irq_resume (vsf_arch_irq_thread_t *irq_thread)
 
vsf_arch_prio_t __vsf_arch_irq_get_priority (vsf_arch_irq_thread_t *irq_thread)
 
bool __vsf_arch_model_low_level_init (void)
 
void __vsf_arch_delay_ms (uint_fast32_t ms)
 
vsf_arch_prio_t __vsf_arch_get_current_priority (void)
 
vsf_systimer_tick_t vsf_systimer_get (void)
 
vsf_err_t vsf_systimer_init (void)
 initialise SysTick to generate a system timer !
 
vsf_err_t vsf_systimer_start (void)
 
void vsf_systimer_set_idle (void)
 
bool vsf_systimer_set (vsf_systimer_tick_t due)
 
bool vsf_systimer_is_due (vsf_systimer_tick_t due)
 
vsf_systimer_tick_t vsf_systimer_us_to_tick (uint_fast32_t time_us)
 
vsf_systimer_tick_t vsf_systimer_ms_to_tick (uint_fast32_t time_ms)
 
vsf_systimer_tick_t vsf_systimer_tick_to_us (vsf_systimer_tick_t tick)
 
vsf_systimer_tick_t vsf_systimer_tick_to_ms (vsf_systimer_tick_t tick)
 
void vsf_systimer_prio_set (vsf_arch_prio_t priority)
 
void vsf_freertos_start (void)
 
void vApplicationMallocFailedHook (void)
 
void vApplicationGetIdleTaskMemory (StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize)
 
void vApplicationGetTimerTaskMemory (StaticTask_t **ppxTimerTaskTCBBuffer, StackType_t **ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize)
 
void vApplicationIdleHook (void)
 
void vApplicationTickHook (void)
 
void vApplicationDaemonTaskStartupHook (void)
 

Macro Definition Documentation

◆ __VSF_ARCH_RTOS_MODEL_IMPLEMENT

#define __VSF_ARCH_RTOS_MODEL_IMPLEMENT

◆ VSF_ARCH_RTOS_CFG_BASE_PRIORITY

#define VSF_ARCH_RTOS_CFG_BASE_PRIORITY   1

◆ arch_prio_to_rtos_prio

#define arch_prio_to_rtos_prio (   __arch_prio)    ((__arch_prio) + VSF_ARCH_RTOS_CFG_BASE_PRIORITY + 1)

◆ rtos_prio_to_arch_prio

#define rtos_prio_to_arch_prio (   __rtos_prio)    ((__rtos_prio) - (VSF_ARCH_RTOS_CFG_BASE_PRIORITY + 1))

◆ VSF_ARCH_RTOS_CFG_MAIN_STACK_DEPTH

#define VSF_ARCH_RTOS_CFG_MAIN_STACK_DEPTH   VSF_ARCH_RTOS_CFG_STACK_DEPTH

◆ VSF_ARCH_FREERTOS_CFG_IRQ_DEPTH

#define VSF_ARCH_FREERTOS_CFG_IRQ_DEPTH   8

Typedef Documentation

◆ __vsf_freertos_t

Function Documentation

◆ vsf_get_interrupt()

vsf_gint_state_t vsf_get_interrupt ( void  )

◆ vsf_set_interrupt()

vsf_gint_state_t vsf_set_interrupt ( vsf_gint_state_t  level)

◆ vsf_disable_interrupt()

vsf_gint_state_t vsf_disable_interrupt ( void  )

◆ vsf_enable_interrupt()

vsf_gint_state_t vsf_enable_interrupt ( void  )

◆ __vsf_arch_irq_enter()

void __vsf_arch_irq_enter ( void  )

◆ __vsf_arch_irq_leave()

void __vsf_arch_irq_leave ( void  )

◆ __vsf_arch_irq_request_init()

void __vsf_arch_irq_request_init ( vsf_arch_irq_request_t request,
bool  is_auto_reset 
)

◆ __vsf_arch_irq_request_fini()

void __vsf_arch_irq_request_fini ( vsf_arch_irq_request_t request)

◆ __vsf_arch_irq_request_pend()

void __vsf_arch_irq_request_pend ( vsf_arch_irq_request_t request)

◆ __vsf_arch_irq_request_send()

void __vsf_arch_irq_request_send ( vsf_arch_irq_request_t request)

◆ __vsf_arch_irq_request_reset()

void __vsf_arch_irq_request_reset ( vsf_arch_irq_request_t request)

◆ __vsf_arch_irq_init()

void __vsf_arch_irq_init ( vsf_arch_irq_thread_t irq_thread,
const char *const  name,
vsf_arch_irq_thread_entry_t  entry,
vsf_arch_prio_t  priority,
VSF_ARCH_RTOS_STACK_T stack,
uint_fast32_t  stack_depth 
)

◆ __vsf_arch_irq_exit()

void __vsf_arch_irq_exit ( vsf_arch_irq_thread_t irq_thread)

◆ __vsf_arch_irq_set_priority()

void __vsf_arch_irq_set_priority ( vsf_arch_irq_thread_t irq_thread,
vsf_arch_prio_t  priority 
)

◆ __vsf_arch_irq_restart()

vsf_err_t __vsf_arch_irq_restart ( vsf_arch_irq_thread_t irq_thread,
vsf_arch_irq_request_t request_pending 
)

◆ __vsf_arch_irq_suspend()

void __vsf_arch_irq_suspend ( vsf_arch_irq_thread_t irq_thread)

◆ __vsf_arch_irq_resume()

void __vsf_arch_irq_resume ( vsf_arch_irq_thread_t irq_thread)

◆ __vsf_arch_irq_get_priority()

vsf_arch_prio_t __vsf_arch_irq_get_priority ( vsf_arch_irq_thread_t irq_thread)

◆ __vsf_arch_model_low_level_init()

bool __vsf_arch_model_low_level_init ( void  )
Note
initialize architecture specific service
Parameters
none
Return values
trueinitialization succeeded.
falseinitialization failed

◆ __vsf_arch_delay_ms()

void __vsf_arch_delay_ms ( uint_fast32_t  ms)

◆ __vsf_arch_get_current_priority()

vsf_arch_prio_t __vsf_arch_get_current_priority ( void  )

◆ vsf_systimer_get()

vsf_systimer_tick_t vsf_systimer_get ( void  )

◆ vsf_systimer_init()

vsf_err_t vsf_systimer_init ( void  )

initialise SysTick to generate a system timer !

Parameters
frequencythe target tick frequency in Hz !
Returns
initialization result in vsf_err_t

◆ vsf_systimer_start()

vsf_err_t vsf_systimer_start ( void  )

◆ vsf_systimer_set_idle()

void vsf_systimer_set_idle ( void  )

◆ vsf_systimer_set()

bool vsf_systimer_set ( vsf_systimer_tick_t  due)

◆ vsf_systimer_is_due()

bool vsf_systimer_is_due ( vsf_systimer_tick_t  due)

◆ vsf_systimer_us_to_tick()

vsf_systimer_tick_t vsf_systimer_us_to_tick ( uint_fast32_t  time_us)

◆ vsf_systimer_ms_to_tick()

vsf_systimer_tick_t vsf_systimer_ms_to_tick ( uint_fast32_t  time_ms)

◆ vsf_systimer_tick_to_us()

vsf_systimer_tick_t vsf_systimer_tick_to_us ( vsf_systimer_tick_t  tick)

◆ vsf_systimer_tick_to_ms()

vsf_systimer_tick_t vsf_systimer_tick_to_ms ( vsf_systimer_tick_t  tick)

◆ vsf_systimer_prio_set()

void vsf_systimer_prio_set ( vsf_arch_prio_t  priority)

◆ vsf_freertos_start()

void vsf_freertos_start ( void  )

◆ vApplicationMallocFailedHook()

void vApplicationMallocFailedHook ( void  )

◆ vApplicationGetIdleTaskMemory()

void vApplicationGetIdleTaskMemory ( StaticTask_t **  ppxIdleTaskTCBBuffer,
StackType_t **  ppxIdleTaskStackBuffer,
uint32_t pulIdleTaskStackSize 
)

◆ vApplicationGetTimerTaskMemory()

void vApplicationGetTimerTaskMemory ( StaticTask_t **  ppxTimerTaskTCBBuffer,
StackType_t **  ppxTimerTaskStackBuffer,
uint32_t pulTimerTaskStackSize 
)

◆ vApplicationIdleHook()

void vApplicationIdleHook ( void  )

◆ vApplicationTickHook()

void vApplicationTickHook ( void  )

◆ vApplicationDaemonTaskStartupHook()

void vApplicationDaemonTaskStartupHook ( void  )