VSF Documented
Data Structures | Macros | Typedefs | Functions
timer.c File Reference
#include "./timer.h"
#include "hal/vsf_hal.h"
#include "hal/driver/vendor_driver.h"
#include "hal/driver/common/timer/timer_template.inc"

Data Structures

struct  vsf_hw_timer_t
 

Macros

#define VSF_HW_TIMER_CFG_MULTI_CLASS   VSF_TIMER_CFG_MULTI_CLASS
 
#define VSF_TIMER_CFG_IMP_PREFIX   vsf_hw
 
#define VSF_TIMER_CFG_IMP_UPCASE_PREFIX   VSF_HW
 
#define VSF_TIMER_CFG_MODE_CHECK_UNIQUE   VSF_HAL_CHECK_MODE_LOOSE
 
#define VSF_TIMER_CFG_IRQ_MASK_CHECK_UNIQUE   VSF_HAL_CHECK_MODE_STRICT
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_GET_CONFIGURATION   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_IRQ_CLEAR   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CTRL   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_STATUS   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_CONFIG   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_START   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_STOP   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_REQUEST_START   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_REQUEST_STOP   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_CTRL   ENABLED
 
#define VSF_TIMER_CFG_REIMPLEMENT_API_SET_PERIOD   ENABLED
 
#define VSF_TIMER_CFG_IMP_LV0(__IDX, __HAL_OP)
 

Typedefs

typedef struct vsf_hw_timer_t vsf_hw_timer_t
 

Functions

vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_init)
 
void VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_fini)
 
fsm_rt_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_enable)
 
fsm_rt_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_disable)
 
void VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_irq_enable)
 
void VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_irq_disable)
 
vsf_timer_irq_mask_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_irq_clear)
 
vsf_timer_status_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_status)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_get_configuration)
 
vsf_timer_capability_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_capability)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_set_period)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_ctrl)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_channel_config)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_channel_start)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_channel_stop)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_channel_request_start)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_channel_request_stop)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_channel_ctrl)
 

Macro Definition Documentation

◆ VSF_HW_TIMER_CFG_MULTI_CLASS

#define VSF_HW_TIMER_CFG_MULTI_CLASS   VSF_TIMER_CFG_MULTI_CLASS

◆ VSF_TIMER_CFG_IMP_PREFIX

#define VSF_TIMER_CFG_IMP_PREFIX   vsf_hw

◆ VSF_TIMER_CFG_IMP_UPCASE_PREFIX

#define VSF_TIMER_CFG_IMP_UPCASE_PREFIX   VSF_HW

◆ VSF_TIMER_CFG_MODE_CHECK_UNIQUE

#define VSF_TIMER_CFG_MODE_CHECK_UNIQUE   VSF_HAL_CHECK_MODE_LOOSE

◆ VSF_TIMER_CFG_IRQ_MASK_CHECK_UNIQUE

#define VSF_TIMER_CFG_IRQ_MASK_CHECK_UNIQUE   VSF_HAL_CHECK_MODE_STRICT

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_TIMER_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_GET_CONFIGURATION

#define VSF_TIMER_CFG_REIMPLEMENT_API_GET_CONFIGURATION   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_IRQ_CLEAR

#define VSF_TIMER_CFG_REIMPLEMENT_API_IRQ_CLEAR   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CTRL

#define VSF_TIMER_CFG_REIMPLEMENT_API_CTRL   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_STATUS

#define VSF_TIMER_CFG_REIMPLEMENT_API_STATUS   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_CONFIG

#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_CONFIG   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_START

#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_START   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_STOP

#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_STOP   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_REQUEST_START

#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_REQUEST_START   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_REQUEST_STOP

#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_REQUEST_STOP   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_CTRL

#define VSF_TIMER_CFG_REIMPLEMENT_API_CHANNEL_CTRL   ENABLED

◆ VSF_TIMER_CFG_REIMPLEMENT_API_SET_PERIOD

#define VSF_TIMER_CFG_REIMPLEMENT_API_SET_PERIOD   ENABLED

◆ VSF_TIMER_CFG_IMP_LV0

#define VSF_TIMER_CFG_IMP_LV0 (   __IDX,
  __HAL_OP 
)
Value:
VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer, __IDX) = { \
__IDX, _REG), \
_IRQN), \
__HAL_OP}; \
VSF_CAL_ROOT void VSF_MCONNECT(VSF_TIMER_CFG_IMP_UPCASE_PREFIX, _TIMER, \
__IDX, _IRQHandler)(void) { \
VSF_MCONNECT(__, VSF_TIMER_CFG_IMP_PREFIX, _timer_irqhandler)( \
(uint8_t)(((__IDX) % 2) * 2 + 0), \
(uint8_t)(((__IDX) % 2) * 2 + 1)); \
vsf_hal_irq_leave(ctx); \
}
vsf_err_t VSF_MCONNECT(VSF_MCONNECT(VSF_TIMER_CFG_IMP_PREFIX, _timer_init)
Definition timer.c:94
#define VSF_TIMER_CFG_IMP_UPCASE_PREFIX
Definition timer.c:34
#define VSF_TIMER_CFG_IMP_PREFIX
Definition timer.c:33
uintptr_t vsf_hal_irq_enter(void)
Definition vsf_hal.c:66
uint32_t uintptr_t
Definition stdint.h:38
unsigned char uint8_t
Definition stdint.h:5

Typedef Documentation

◆ vsf_hw_timer_t

Function Documentation

◆ VSF_MCONNECT() [1/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_init   
)

◆ VSF_MCONNECT() [2/18]

void VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_fini   
)

◆ VSF_MCONNECT() [3/18]

fsm_rt_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_enable   
)

◆ VSF_MCONNECT() [4/18]

fsm_rt_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_disable   
)

◆ VSF_MCONNECT() [5/18]

void VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_irq_enable   
)

◆ VSF_MCONNECT() [6/18]

void VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_irq_disable   
)

◆ VSF_MCONNECT() [7/18]

vsf_timer_irq_mask_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_irq_clear   
)

◆ VSF_MCONNECT() [8/18]

vsf_timer_status_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_status   
)

◆ VSF_MCONNECT() [9/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_get_configuration   
)

◆ VSF_MCONNECT() [10/18]

vsf_timer_capability_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_capability   
)

◆ VSF_MCONNECT() [11/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_set_period   
)

◆ VSF_MCONNECT() [12/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_ctrl   
)

◆ VSF_MCONNECT() [13/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_channel_config   
)

◆ VSF_MCONNECT() [14/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_channel_start   
)

◆ VSF_MCONNECT() [15/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_channel_stop   
)

◆ VSF_MCONNECT() [16/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_channel_request_start   
)

◆ VSF_MCONNECT() [17/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_channel_request_stop   
)

◆ VSF_MCONNECT() [18/18]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_TIMER_CFG_IMP_PREFIX,
_timer_channel_ctrl   
)
Generated from commit: vsfteam/vsf@3b461d0