18#ifndef __HAL_DRIVER_${SERIES/DAC_IP}_DAC_H__
19#define __HAL_DRIVER_${SERIES/DAC_IP}_DAC_H__
25#if VSF_HAL_USE_DAC == ENABLED
44#if defined(__VSF_HAL_${DAC_IP}_DAC_CLASS_IMPLEMENT)
45# define __VSF_CLASS_IMPLEMENT__
46#elif defined(__VSF_HAL_${DAC_IP}_DAC_CLASS_INHERIT__)
47# define __VSF_CLASS_INHERIT__
64#ifndef VSF_${DAC_IP}_DAC_CFG_MULTI_CLASS
65# define VSF_${DAC_IP}_DAC_CFG_MULTI_CLASS VSF_DAC_CFG_MULTI_CLASS
81#define VSF_DAC_CFG_REIMPLEMENT_TYPE_STATUS ENABLED
82#define VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
83#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG ENABLED
84#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG ENABLED
85#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
93#if VSF_${DAC_IP}_CFG_MULTI_CLASS == ENABLED
112#if VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK == ENABLED
119#if VSF_DAC_CFG_REIMPLEMENT_TYPE_STATUS == ENABLED
132#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG == ENABLED
140#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
153#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
155#if VSF_DAC_CFG_INHERIT_HAL_CAPABILITY == ENABLED
180#undef __VSF_HAL_${DAC_IP}_DAC_CLASS_IMPLEMENT
181#undef __VSF_HAL_${DAC_IP}_DAC_CLASS_INHERIT__
vsf_arch_prio_t
Definition cortex_a_generic.h:88
vsf_dac_isr_t isr
Definition dac.h:107
void vsf_dac_isr_handler_t(void *target_ptr, vsf_dac_t *dac_ptr, vsf_dac_irq_mask_t irq_mask)
Definition dac.h:142
vsf_dac_irq_mask_t
Definition dac.h:113
@ VSF_DAC_IRQ_MASK_IDLE
Definition dac.h:114
@ VSF_DAC_IRQ_MASK_CPL
Definition dac.h:115
#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 uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
DAC capability structure that can be reimplemented in specific HAL drivers.
Definition vsf_template_dac.h:306
uint8_t min_resolution_bits
Minimum resolution bits.
Definition vsf_template_dac.h:312
inherit(vsf_peripheral_capability_t) vsf_dac_irq_mask_t irq_mask
uint8_t channel_count
Number of channels.
Definition vsf_template_dac.h:313
uint8_t max_resolution_bits
Maximum resolution bits.
Definition vsf_template_dac.h:311
DAC configuration structure.
Definition vsf_template_dac.h:275
vsf_dac_isr_t isr
Interrupt configuration.
Definition vsf_template_dac.h:276
dac channel configuration
Definition vsf_template_dac.h:231
uint8_t channel
Channel index.
Definition vsf_template_dac.h:232
uint8_t resolution
Channel resolution.
Definition vsf_template_dac.h:233
DAC interrupt configuration structure.
Definition vsf_template_dac.h:262
vsf_dac_isr_handler_t * handler_fn
Interrupt handler.
Definition vsf_template_dac.h:263
void * target_ptr
User target pointer.
Definition vsf_template_dac.h:264
vsf_arch_prio_t prio
Interrupt priority.
Definition vsf_template_dac.h:265
DAC status structure that can be reimplemented in specific HAL drivers.
Definition vsf_template_dac.h:288
Definition vsf_template_dac.h:327
Definition vsf_template_hal_driver.h:203
Definition vsf_template_hal_driver.h:196
vsf_dac_irq_mask_t
Predefined VSF DAC interrupts that can be reimplemented in specific HAL drivers. Even if the hardware...
Definition vsf_template_dac.h:211