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
34#include "../../__device.h"
46#if defined(__VSF_HAL_${TIMER_IP}_TIMER_CLASS_IMPLEMENT)
47# define __VSF_CLASS_IMPLEMENT__
48#elif defined(__VSF_HAL_${TIMER_IP}_TIMER_CLASS_INHERIT__)
49# define __VSF_CLASS_INHERIT__
66#ifndef VSF_${TIMER_IP}_TIMER_CFG_MULTI_CLASS
67# define VSF_${TIMER_IP}_TIMER_CFG_MULTI_CLASS VSF_TIMER_CFG_MULTI_CLASS
87#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_MODE ENABLED
88#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_STATUS ENABLED
89#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
90#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CFG ENABLED
91#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG ENABLED
92#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CTRL ENABLED
93#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG ENABLED
94#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CTRL ENABLED
95#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_REQUEST ENABLED
96#define VSF_TIMER_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
104#if VSF_${TIMER_IP}_CFG_MULTI_CLASS == ENABLED
123#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_MODE == ENABLED
133#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_IRQ_MASK == ENABLED
141#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
149#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CTRL == ENABLED
160#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
184#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG == ENABLED
196#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CHANNEL_REQUEST == ENABLED
216#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_STATUS == ENABLED
232#if VSF_TIMER_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
261#undef __VSF_HAL_${TIMER_IP}_TIMER_CLASS_IMPLEMENT
262#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:134
@ VSF_TIMER_IRQ_MASK_OVERFLOW
Definition timer.h:135
vsf_timer_channel_mode_t
Definition timer.h:124
@ VSF_TIMER_CHANNEL_MODE_BASE
Definition timer.h:125
@ VSF_TIMER_BASE_ONESHOT
Definition timer.h:126
@ VSF_TIMER_BASE_CONTINUES
Definition timer.h:127
vsf_timer_ctrl_t
Definition timer.h:142
@ __VSF_TIMER_CTRL_DUMMY
Definition timer.h:143
void vsf_timer_isr_handler_t(void *target_ptr, vsf_timer_t *timer_ptr, vsf_timer_irq_mask_t irq_mask)
Definition timer.h:162
vsf_timer_channel_ctrl_t
Definition timer.h:150
@ __VSF_TIMER_CHANNEL_CTRL_DUMMY
Definition timer.h:151
vsf_timer_isr_t isr
Definition timer.h:118
#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:598
uint8_t support_output_compare
Definition vsf_template_timer.h:613
uint8_t timer_bitlen
Definition vsf_template_timer.h:606
vsf_timer_irq_mask_t irq_mask
Definition timer.h:234
uint8_t support_one_pulse
Definition vsf_template_timer.h:615
uint8_t channel_cnt
Definition vsf_template_timer.h:608
uint8_t support_input_capture
Definition vsf_template_timer.h:614
uint8_t support_pwm
Definition vsf_template_timer.h:612
timer configuration
Definition vsf_template_timer.h:498
uint32_t freq
Definition vsf_template_timer.h:501
uint32_t min_freq
Definition vsf_template_timer.h:502
uint32_t period
Period in Tick.
Definition vsf_template_timer.h:499
vsf_timer_isr_t isr
ISR config.
Definition vsf_template_timer.h:504
Definition vsf_template_timer.h:509
vsf_timer_channel_mode_t mode
Definition vsf_template_timer.h:510
uint32_t pulse
Definition vsf_template_timer.h:511
Definition vsf_template_timer.h:561
uint16_t length
Definition vsf_template_timer.h:562
uint32_t * pulse_buffer
Definition vsf_template_timer.h:567
uint32_t * channel_a_buffer
Definition vsf_template_timer.h:572
uint32_t * input_capture_buffer
Definition vsf_template_timer.h:569
uint32_t * channel_b_buffer
Definition vsf_template_timer.h:573
uint32_t * period_buffer
Definition vsf_template_timer.h:565
Definition vsf_template_timer.h:484
vsf_arch_prio_t prio
Definition vsf_template_timer.h:487
vsf_timer_isr_handler_t * handler_fn
Definition vsf_template_timer.h:485
void * target_ptr
Definition vsf_template_timer.h:486
TIMER status information structure Contains the current status of TIMER operations.
Definition vsf_template_timer.h:588
uint32_t value
Definition timer.h:222
uint32_t is_busy
Definition timer.h:220
Definition vsf_template_timer.h:629
vsf_timer_irq_mask_t
Definition vsf_template_timer.h:448
vsf_timer_channel_mode_t
Definition vsf_template_timer.h:237
vsf_timer_ctrl_t
Predefined VSF TIMER control command that can be reimplemented in specific hal drivers....
Definition vsf_template_timer.h:533
vsf_timer_channel_ctrl_t
Predefined VSF TIMER control command that can be reimplemented in specific hal drivers....
Definition vsf_template_timer.h:555