18#ifndef __HAL_DRIVER_${SERIES/TIMER_IP}_TIMER_H__
19#define __HAL_DRIVER_${SERIES/TIMER_IP}_TIMER_H__
25#if VSF_HAL_USE_TIMER == ENABLED
44#if defined(__VSF_HAL_${TIMER_IP}_TIMER_CLASS_IMPLEMENT)
45# define __VSF_CLASS_IMPLEMENT__
46#elif defined(__VSF_HAL_${TIMER_IP}_TIMER_CLASS_INHERIT__)
47# define __VSF_CLASS_INHERIT__
64#ifndef VSF_${TIMER_IP}_TIMER_CFG_MULTI_CLASS
65# define VSF_${TIMER_IP}_TIMER_CFG_MULTI_CLASS VSF_TIMER_CFG_MULTI_CLASS
85#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_MODE ENABLED
86#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_STATUS ENABLED
87#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
88#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CFG ENABLED
89#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG ENABLED
90#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CTRL ENABLED
91#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG ENABLED
92#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CTRL ENABLED
93#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_REQUEST ENABLED
94#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
102#if VSF_${TIMER_IP}_CFG_MULTI_CLASS == ENABLED
121#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_MODE == ENABLED
131#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_IRQ_MASK == ENABLED
139#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
147#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CTRL == ENABLED
158#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
182#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG == ENABLED
194#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_REQUEST == ENABLED
214#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_STATUS == ENABLED
230#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
259#undef __VSF_HAL_${TIMER_IP}_TIMER_CLASS_IMPLEMENT
260#undef __VSF_HAL_${TIMER_IP}_TIMER_CLASS_INHERIT__
vsf_arch_prio_t
Definition cortex_a_generic.h:88
vsf_timer_irq_mask_t
Definition timer.h:132
@ VSF_TIMER_IRQ_MASK_OVERFLOW
Definition timer.h:133
vsf_timer_channel_mode_t
Definition timer.h:122
@ VSF_TIMER_CHANNEL_MODE_BASE
Definition timer.h:123
@ VSF_TIMER_BASE_ONESHOT
Definition timer.h:124
@ VSF_TIMER_BASE_CONTINUES
Definition timer.h:125
vsf_timer_ctrl_t
Definition timer.h:140
@ __VSF_TIMER_CTRL_DUMMY
Definition timer.h:141
void vsf_timer_isr_handler_t(void *target_ptr, vsf_timer_t *timer_ptr, vsf_timer_irq_mask_t irq_mask)
Definition timer.h:160
vsf_timer_channel_ctrl_t
Definition timer.h:148
@ __VSF_TIMER_CHANNEL_CTRL_DUMMY
Definition timer.h:149
vsf_timer_isr_t isr
Definition timer.h:116
#define vsf_class(__name)
Definition ooc_class.h:48
const i_spi_t vsf_spi_irq_mask_t irq_mask
Definition spi_interface.h:38
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_template_timer.h:599
uint8_t support_output_compare
Definition vsf_template_timer.h:614
uint8_t timer_bitlen
Definition vsf_template_timer.h:607
vsf_timer_irq_mask_t irq_mask
Definition timer.h:232
uint8_t support_one_pulse
Definition vsf_template_timer.h:616
uint8_t channel_cnt
Definition vsf_template_timer.h:609
uint8_t support_input_capture
Definition vsf_template_timer.h:615
uint8_t support_pwm
Definition vsf_template_timer.h:613
timer configuration
Definition vsf_template_timer.h:499
uint32_t freq
Definition vsf_template_timer.h:502
uint32_t min_freq
Definition vsf_template_timer.h:503
uint32_t period
Period in Tick.
Definition vsf_template_timer.h:500
vsf_timer_isr_t isr
ISR config.
Definition vsf_template_timer.h:505
Definition vsf_template_timer.h:510
vsf_timer_channel_mode_t mode
Definition vsf_template_timer.h:511
uint32_t pulse
Definition vsf_template_timer.h:512
Definition vsf_template_timer.h:562
uint16_t length
Definition vsf_template_timer.h:563
uint32_t * pulse_buffer
Definition vsf_template_timer.h:568
uint32_t * channel_a_buffer
Definition vsf_template_timer.h:573
uint32_t * input_capture_buffer
Definition vsf_template_timer.h:570
uint32_t * channel_b_buffer
Definition vsf_template_timer.h:574
uint32_t * period_buffer
Definition vsf_template_timer.h:566
Definition vsf_template_timer.h:485
vsf_arch_prio_t prio
Definition vsf_template_timer.h:488
vsf_timer_isr_handler_t * handler_fn
Definition vsf_template_timer.h:486
void * target_ptr
Definition vsf_template_timer.h:487
TIMER status information structure Contains the current status of TIMER operations.
Definition vsf_template_timer.h:589
uint32_t value
Definition timer.h:220
uint32_t is_busy
Definition timer.h:218
Definition vsf_template_timer.h:630
vsf_timer_irq_mask_t
Definition vsf_template_timer.h:449
vsf_timer_channel_mode_t
Definition vsf_template_timer.h:238
vsf_timer_ctrl_t
Predefined VSF TIMER control command that can be reimplemented in specific hal drivers....
Definition vsf_template_timer.h:534
vsf_timer_channel_ctrl_t
Predefined VSF TIMER control command that can be reimplemented in specific hal drivers....
Definition vsf_template_timer.h:556