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
34#include "../../__device.h"
46#if defined(__VSF_HAL_${DAC_IP}_DAC_CLASS_IMPLEMENT)
47# define __VSF_CLASS_IMPLEMENT__
48#elif defined(__VSF_HAL_${DAC_IP}_DAC_CLASS_INHERIT__)
49# define __VSF_CLASS_INHERIT__
66#ifndef VSF_${DAC_IP}_DAC_CFG_MULTI_CLASS
67# 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_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
130#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG == ENABLED
143#if VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY == ENABLED
145#if VSF_DAC_CFG_INHERIT_HAL_CAPABILITY == ENABLED
170#undef __VSF_HAL_${DAC_IP}_DAC_CLASS_IMPLEMENT
171#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:132
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:293
uint8_t min_resolution_bits
Minimum resolution bits.
Definition vsf_template_dac.h:299
inherit(vsf_peripheral_capability_t) vsf_dac_irq_mask_t irq_mask
uint8_t channel_count
Number of channels.
Definition vsf_template_dac.h:300
uint8_t max_resolution_bits
Maximum resolution bits.
Definition vsf_template_dac.h:298
DAC configuration structure.
Definition vsf_template_dac.h:262
vsf_dac_isr_t isr
Interrupt configuration.
Definition vsf_template_dac.h:263
DAC interrupt configuration structure.
Definition vsf_template_dac.h:249
vsf_dac_isr_handler_t * handler_fn
Interrupt handler.
Definition vsf_template_dac.h:250
void * target_ptr
User target pointer.
Definition vsf_template_dac.h:251
vsf_arch_prio_t prio
Interrupt priority.
Definition vsf_template_dac.h:252
DAC status structure that can be reimplemented in specific HAL drivers.
Definition vsf_template_dac.h:275
Definition vsf_template_dac.h:314
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:198