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
82#define VSF_DAC_CFG_REIMPLEMENT_TYPE_STATUS ENABLED
83#define VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK ENABLED
84#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG ENABLED
85#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG ENABLED
86#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CTRL ENABLED
87#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY ENABLED
95#if VSF_${DAC_IP}_CFG_MULTI_CLASS == ENABLED
114#if VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK == ENABLED
121#if VSF_DAC_CFG_REIMPLEMENT_TYPE_STATUS == ENABLED
134#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG == ENABLED
142#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
155#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
157#if VSF_DAC_CFG_INHERIT_HAL_CAPABILITY == ENABLED
167#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CTRL == ENABLED
188#undef __VSF_HAL_${DAC_IP}_DAC_CLASS_IMPLEMENT
189#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:109
void vsf_dac_isr_handler_t(void *target_ptr, vsf_dac_t *dac_ptr, vsf_dac_irq_mask_t irq_mask)
Definition dac.h:144
vsf_dac_irq_mask_t
Definition dac.h:115
@ VSF_DAC_IRQ_MASK_IDLE
Definition dac.h:116
@ VSF_DAC_IRQ_MASK_CPL
Definition dac.h:117
vsf_dac_ctrl_t
Definition dac.h:168
@ __VSF_DAC_CTRL_DUMMY
Definition dac.h:169
#define vsf_class(__name)
Definition ooc_class.h:52
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:322
uint8_t min_resolution_bits
Minimum resolution bits.
Definition vsf_template_dac.h:328
inherit(vsf_peripheral_capability_t) vsf_dac_irq_mask_t irq_mask
uint8_t channel_count
Number of channels.
Definition vsf_template_dac.h:329
uint8_t max_resolution_bits
Maximum resolution bits.
Definition vsf_template_dac.h:327
DAC configuration structure.
Definition vsf_template_dac.h:291
vsf_dac_isr_t isr
Interrupt configuration.
Definition vsf_template_dac.h:292
dac channel configuration
Definition vsf_template_dac.h:247
uint8_t channel
Channel index.
Definition vsf_template_dac.h:248
uint8_t resolution
Channel resolution.
Definition vsf_template_dac.h:249
DAC interrupt configuration structure.
Definition vsf_template_dac.h:278
vsf_dac_isr_handler_t * handler_fn
Interrupt handler.
Definition vsf_template_dac.h:279
void * target_ptr
User target pointer.
Definition vsf_template_dac.h:280
vsf_arch_prio_t prio
Interrupt priority.
Definition vsf_template_dac.h:281
DAC status structure that can be reimplemented in specific HAL drivers.
Definition vsf_template_dac.h:304
Definition vsf_template_dac.h:374
Definition vsf_template_hal_driver.h:204
Definition vsf_template_hal_driver.h:197
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:227
vsf_dac_ctrl_t
DAC control commands for hardware-specific operations.
Definition vsf_template_dac.h:342