VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
vsf_template_dac.h File Reference
#include "./vsf_template_hal_driver.h"
#include "hal/arch/vsf_arch.h"

Go to the source code of this file.

Data Structures

struct  vsf_dac_channel_cfg_t
 dac channel configuration More...
 
struct  vsf_dac_isr_t
 
struct  vsf_dac_cfg_t
 dac configuration More...
 
struct  vsf_dac_status_t
 
struct  vsf_dac_capability_t
 
struct  vsf_dac_op_t
 
struct  vsf_dac_t
 

Macros

#define VSF_DAC_CFG_MULTI_CLASS   ENABLED
 
#define VSF_DAC_CFG_PREFIX   vsf
 
#define VSF_DAC_CFG_FUNCTION_RENAME   ENABLED
 
#define VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK   DISABLED
 
#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG   DISABLED
 
#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG   DISABLED
 
#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY   DISABLED
 
#define VSF_DAC_CFG_INHERT_HAL_CAPABILITY   ENABLED
 
#define VSF_DAC_APIS(__prefix_name)
 
#define __VSF_HAL_TEMPLATE_API   VSF_HAL_TEMPLATE_API_FP
 
#define __vsf_dac_t   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_t)
 
#define vsf_dac_init(__DAC, ...)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_init) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)
 
#define vsf_dac_fini(__DAC)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_fini) ((__vsf_dac_t *)(__DAC))
 
#define vsf_dac_enable(__DAC)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_enable) ((__vsf_dac_t *)(__DAC))
 
#define vsf_dac_disable(__DAC)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_disable) ((__vsf_dac_t *)(__DAC))
 
#define vsf_dac_status(__DAC)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_status) ((__vsf_dac_t *)(__DAC))
 
#define vsf_dac_capability(__DAC)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_capability) ((__vsf_dac_t *)(__DAC))
 
#define vsf_dac_irq_enable(__DAC, ...)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_irq_enable) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)
 
#define vsf_dac_irq_disable(__DAC, ...)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_irq_disable) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)
 
#define vsf_dac_channel_request_once(__DAC, ...)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_channel_request_once) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)
 
#define vsf_dac_channel_config(__DAC, ...)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_channel_config) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)
 
#define vsf_dac_channel_request(__DAC, ...)   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_channel_request) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)
 

Typedefs

typedef enum vsf_dac_irq_mask_t vsf_dac_irq_mask_t
 
typedef struct vsf_dac_channel_cfg_t vsf_dac_channel_cfg_t
 dac channel configuration
 
typedef struct vsf_dac_t vsf_dac_t
 
typedef void vsf_dac_isr_handler_t(void *target_ptr, vsf_dac_t *dac_ptr, vsf_dac_irq_mask_t irq_mask)
 
typedef struct vsf_dac_isr_t vsf_dac_isr_t
 
typedef struct vsf_dac_cfg_t vsf_dac_cfg_t
 dac configuration
 
typedef struct vsf_dac_status_t vsf_dac_status_t
 
typedef struct vsf_dac_capability_t vsf_dac_capability_t
 
typedef struct vsf_dac_op_t vsf_dac_op_t
 

Enumerations

enum  vsf_dac_irq_mask_t {
  VSF_DAC_IRQ_MASK_IDLE = (0x01ul << 0) ,
  VSF_DAC_IRQ_MASK_CPL = (0x1ul << 0)
}
 
enum  {
  VSF_DAC_IRQ_COUNT = 2 ,
  VSF_DAC_IRQ_ALL_BITS_MASK = VSF_DAC_IRQ_MASK_IDLE | VSF_DAC_IRQ_MASK_CPL
}
 

Functions

vsf_err_t vsf_dac_init (vsf_dac_t *dac_ptr, vsf_dac_cfg_t *cfg_ptr)
 initialize a dac instance.
 
void vsf_dac_fini (vsf_dac_t *dac_ptr)
 finalize a dac instance.
 
fsm_rt_t vsf_dac_enable (vsf_dac_t *dac_ptr)
 enable interrupt masks of dac instance.
 
fsm_rt_t vsf_dac_disable (vsf_dac_t *dac_ptr)
 disable interrupt masks of dac instance.
 
void vsf_dac_irq_enable (vsf_dac_t *dac_ptr, vsf_dac_irq_mask_t irq_mask)
 enable interrupt masks of dac instance.
 
void vsf_dac_irq_disable (vsf_dac_t *dac_ptr, vsf_dac_irq_mask_t irq_mask)
 disable interrupt masks of dac instance.
 
vsf_dac_status_t vsf_dac_status (vsf_dac_t *dac_ptr)
 get the status of dac instance.
 
vsf_dac_capability_t vsf_dac_capability (vsf_dac_t *dac_ptr)
 get the capability of dac instance.
 
vsf_err_t vsf_dac_channel_request_once (vsf_dac_t *dac_ptr, vsf_dac_channel_cfg_t *channel_cfg, uint_fast16_t value)
 dac request convert once
 
vsf_err_t vsf_dac_channel_config (vsf_dac_t *dac_ptr, vsf_dac_channel_cfg_t *cfgs_ptr, uint_fast8_t cnt)
 dac channel configuration
 
vsf_err_t vsf_dac_channel_request (vsf_dac_t *dac_ptr, void *buffer_ptr, uint_fast32_t count)
 dac channel request
 

Macro Definition Documentation

◆ VSF_DAC_CFG_MULTI_CLASS

#define VSF_DAC_CFG_MULTI_CLASS   ENABLED

◆ VSF_DAC_CFG_PREFIX

#define VSF_DAC_CFG_PREFIX   vsf

◆ VSF_DAC_CFG_FUNCTION_RENAME

#define VSF_DAC_CFG_FUNCTION_RENAME   ENABLED

◆ VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK

#define VSF_DAC_CFG_REIMPLEMENT_TYPE_IRQ_MASK   DISABLED

◆ VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG

#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CHANNEL_CFG   DISABLED

Redefine struct vsf_dac_channel_cfg_t. For compatibility, members should not be deleted when struct vsf_dac_channel_cfg_t redefining.

◆ VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG

#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CFG   DISABLED

Redefine struct vsf_dac_cfg_t. The vsf_dac_isr_handler_t type also needs to be redefined For compatibility, members should not be deleted when struct vsf_dac_cfg_t redefining.

◆ VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY

#define VSF_DAC_CFG_REIMPLEMENT_TYPE_CAPABILITY   DISABLED

Redefine struct vsf_dac_capability_t. For compatibility, members should not be deleted when struct vsf_dac_capability_t redefining.

◆ VSF_DAC_CFG_INHERT_HAL_CAPABILITY

#define VSF_DAC_CFG_INHERT_HAL_CAPABILITY   ENABLED

◆ VSF_DAC_APIS

#define VSF_DAC_APIS (   __prefix_name)
Value:
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_err_t, dac, init, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr, vsf_dac_cfg_t *cfg_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, void, dac, fini, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, fsm_rt_t, dac, enable, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, fsm_rt_t, dac, disable, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_dac_status_t, dac, status, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_dac_capability_t, dac, capability, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr) \
__VSF_HAL_TEMPLATE_API(__prefix_name, void, dac, irq_enable, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr, vsf_dac_irq_mask_t irq_mask) \
__VSF_HAL_TEMPLATE_API(__prefix_name, void, dac, irq_disable, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr, vsf_dac_irq_mask_t irq_mask) \
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_err_t, dac, channel_request_once, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr, vsf_dac_channel_cfg_t *cfg, uint_fast16_t value) \
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_err_t, dac, channel_config, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr, vsf_dac_channel_cfg_t *cfgs_ptr, uint_fast8_t cnt) \
__VSF_HAL_TEMPLATE_API(__prefix_name, vsf_err_t, dac, channel_request, VSF_MCONNECT(__prefix_name, _dac_t) *dac_ptr, void *values_ptr, uint_fast32_t cnt)
vsf_err_t
Definition __type.h:42
struct VSF_MCONNECT(VSF_FLASH_CFG_IMP_PREFIX, _flash_t)
Definition flash.c:53
__le16 capability
Definition ieee80211.h:134
const i_spi_t vsf_spi_irq_mask_t irq_mask
Definition spi_interface.h:38
unsigned char uint_fast8_t
Definition stdint.h:23
unsigned int uint_fast32_t
Definition stdint.h:27
unsigned short uint_fast16_t
Definition stdint.h:25
Definition vsf_template_dac.h:154
dac configuration
Definition vsf_template_dac.h:137
dac channel configuration
Definition vsf_template_dac.h:120
Definition vsf_template_dac.h:143
vk_av_control_value_t value
Definition vsf_audio.h:171
fsm_rt_t
Definition vsf_fsm.h:315
#define __VSF_HAL_TEMPLATE_API
Definition vsf_template_dac.h:168
vsf_dac_irq_mask_t
Definition vsf_template_dac.h:107
uint8_t status
Definition vsf_tgui.h:122

◆ __VSF_HAL_TEMPLATE_API

#define __VSF_HAL_TEMPLATE_API   VSF_HAL_TEMPLATE_API_FP

◆ __vsf_dac_t

#define __vsf_dac_t   VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_t)

◆ vsf_dac_init

#define vsf_dac_init (   __DAC,
  ... 
)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_init) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)

◆ vsf_dac_fini

#define vsf_dac_fini (   __DAC)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_fini) ((__vsf_dac_t *)(__DAC))

◆ vsf_dac_enable

#define vsf_dac_enable (   __DAC)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_enable) ((__vsf_dac_t *)(__DAC))

◆ vsf_dac_disable

#define vsf_dac_disable (   __DAC)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_disable) ((__vsf_dac_t *)(__DAC))

◆ vsf_dac_status

#define vsf_dac_status (   __DAC)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_status) ((__vsf_dac_t *)(__DAC))

◆ vsf_dac_capability

#define vsf_dac_capability (   __DAC)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_capability) ((__vsf_dac_t *)(__DAC))

◆ vsf_dac_irq_enable

#define vsf_dac_irq_enable (   __DAC,
  ... 
)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_irq_enable) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)

◆ vsf_dac_irq_disable

#define vsf_dac_irq_disable (   __DAC,
  ... 
)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_irq_disable) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)

◆ vsf_dac_channel_request_once

#define vsf_dac_channel_request_once (   __DAC,
  ... 
)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_channel_request_once) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)

◆ vsf_dac_channel_config

#define vsf_dac_channel_config (   __DAC,
  ... 
)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_channel_config) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)

◆ vsf_dac_channel_request

#define vsf_dac_channel_request (   __DAC,
  ... 
)    VSF_MCONNECT(VSF_DAC_CFG_PREFIX, _dac_channel_request) ((__vsf_dac_t *)(__DAC), ##__VA_ARGS__)

Typedef Documentation

◆ vsf_dac_irq_mask_t

◆ vsf_dac_channel_cfg_t

dac channel configuration

◆ vsf_dac_t

typedef struct vsf_dac_t vsf_dac_t

◆ vsf_dac_isr_handler_t

typedef void vsf_dac_isr_handler_t(void *target_ptr, vsf_dac_t *dac_ptr, vsf_dac_irq_mask_t irq_mask)

◆ vsf_dac_isr_t

typedef struct vsf_dac_isr_t vsf_dac_isr_t

◆ vsf_dac_cfg_t

typedef struct vsf_dac_cfg_t vsf_dac_cfg_t

dac configuration

◆ vsf_dac_status_t

◆ vsf_dac_capability_t

◆ vsf_dac_op_t

typedef struct vsf_dac_op_t vsf_dac_op_t

Enumeration Type Documentation

◆ vsf_dac_irq_mask_t

Enumerator
VSF_DAC_IRQ_MASK_IDLE 
VSF_DAC_IRQ_MASK_CPL 

◆ anonymous enum

anonymous enum
Enumerator
VSF_DAC_IRQ_COUNT 
VSF_DAC_IRQ_ALL_BITS_MASK 

Function Documentation

◆ vsf_dac_init()

vsf_err_t vsf_dac_init ( vsf_dac_t dac_ptr,
vsf_dac_cfg_t cfg_ptr 
)
extern

initialize a dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]cfg_ptra pointer to structure vsf_dac_cfg_t
Returns
vsf_err_t: VSF_ERR_NONE if dac was initialized, or a negative error code
Note
It is not necessary to call vsf_dac_fini() to deinitialization. vsf_dac_init() should be called before any other DAC API except vsf_dac_capability().

◆ vsf_dac_fini()

void vsf_dac_fini ( vsf_dac_t dac_ptr)
extern

finalize a dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
Returns
none

◆ vsf_dac_enable()

fsm_rt_t vsf_dac_enable ( vsf_dac_t dac_ptr)
extern

enable interrupt masks of dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]irq_maskone or more value of enum vsf_dac_irq_mask_t
Returns
none.

◆ vsf_dac_disable()

fsm_rt_t vsf_dac_disable ( vsf_dac_t dac_ptr)
extern

disable interrupt masks of dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]irq_maskone or more value of enum vsf_dac_irq_mask_t, vsf_dac_irq_mask_t
Returns
none.

◆ vsf_dac_irq_enable()

void vsf_dac_irq_enable ( vsf_dac_t dac_ptr,
vsf_dac_irq_mask_t  irq_mask 
)
extern

enable interrupt masks of dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]irq_maskone or more value of enum vsf_dac_irq_mask_t
Returns
none.

◆ vsf_dac_irq_disable()

void vsf_dac_irq_disable ( vsf_dac_t dac_ptr,
vsf_dac_irq_mask_t  irq_mask 
)
extern

disable interrupt masks of dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]irq_maskone or more value of enum vsf_dac_irq_mask_t, vsf_dac_irq_mask_t
Returns
none.

◆ vsf_dac_status()

vsf_dac_status_t vsf_dac_status ( vsf_dac_t dac_ptr)
extern

get the status of dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
Returns
vsf_dac_status_t: return all status of current dac

◆ vsf_dac_capability()

vsf_dac_capability_t vsf_dac_capability ( vsf_dac_t dac_ptr)
extern

get the capability of dac instance.

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
Returns
vsf_dac_capability_t: return all capability of current dac vsf_dac_capability_t

◆ vsf_dac_channel_request_once()

vsf_err_t vsf_dac_channel_request_once ( vsf_dac_t dac_ptr,
vsf_dac_channel_cfg_t channel_cfg,
uint_fast16_t  value 
)
extern

dac request convert once

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]channel_cfga pointer to convert channel configuration
[in]buffer_ptrvalue to be converted
Returns
vsf_err_t: VSF_ERR_NONE if the dac request was successfully, or a negative error code

◆ vsf_dac_channel_config()

vsf_err_t vsf_dac_channel_config ( vsf_dac_t dac_ptr,
vsf_dac_channel_cfg_t cfgs_ptr,
uint_fast8_t  cnt 
)
extern

dac channel configuration

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[in]cfgs_ptrconvert channel configuration array
[in]cntthe length of convert channel configuration array
[in]buffer_ptrdata buffer
Returns
vsf_err_t: VSF_ERR_NONE if the dac request was successfully, or a negative error code

◆ vsf_dac_channel_request()

vsf_err_t vsf_dac_channel_request ( vsf_dac_t dac_ptr,
void *  buffer_ptr,
uint_fast32_t  count 
)
extern

dac channel request

Parameters
[in]dac_ptra pointer to structure vsf_dac_t
[out]buffer_ptrconvert channel data array
[in]countthe length of convert channel configuration data array
Returns
vsf_err_t: VSF_ERR_NONE if the dac request was successfully, or a negative error code