HPM SDK
HPMicro Software Development Kit
hpm_dac_drv.h File Reference
#include "hpm_common.h"
#include "hpm_dac_regs.h"
#include "hpm_soc_feature.h"

Go to the source code of this file.

Data Structures

struct  dac_config_t
 
struct  dac_step_config_t
 
struct  dac_buffer_t
 
struct  dac_buffer_config_t
 

Macros

#define DAC_OUTPUT(PERCENT)   (PERCENT / 10000.0f * DAC_SOC_MAX_DATA)
 
#define DAC_AHB_ERROR_EVENT   DAC_IRQ_EN_AHB_ERROR_MASK
 
#define DAC_FIFO_EMPTY_EVENT   DAC_IRQ_EN_FIFO_EMPTY_MASK
 
#define DAC_BUF1_COMPLETE_EVENT   DAC_IRQ_EN_BUF1_CMPT_MASK
 
#define DAC_BUF0_COMPLETE_EVENT   DAC_IRQ_EN_BUF0_CMPT_MASK
 

Enumerations

enum  dac_mode_t { dac_mode_direct = 0 , dac_mode_step , dac_mode_buffer , dac_mode_trig }
 
enum  dac_ana_div_t { dac_ana_div_2 = 0 , dac_ana_div_4 , dac_ana_div_6 , dac_ana_div_8 }
 
enum  dac_step_direction_t { dac_step_up = 0 , dac_step_down }
 
enum  dac_round_mode_t { dac_round_mode_oneshot = 0 , dac_round_mode_loop }
 
enum  dac_data_structure_t { dac_data_stru_2_point = 0 , dac_data_stru_1_point }
 
enum  dac_burst_type_t { dac_burst_single = 0 , dac_burst_incr4 = 3 , dac_burst_incr8 = 5 }
 

Functions

void dac_get_default_config (dac_config_t *config)
 
hpm_stat_t dac_init (DAC_Type *ptr, dac_config_t *config)
 
hpm_stat_t dac_set_direct_config (DAC_Type *ptr, uint16_t data)
 
hpm_stat_t dac_set_step_config (DAC_Type *ptr, uint8_t step_cfg_idx, dac_step_config_t *config)
 
hpm_stat_t dac_set_buffer_config (DAC_Type *ptr, dac_buffer_config_t *config)
 
hpm_stat_t dac_set_output_frequency (DAC_Type *ptr, uint32_t dac_input_freq, uint32_t dac_output_freq)
 
hpm_stat_t dac_set_step_sw_trigger (DAC_Type *ptr, uint8_t step_sw_trig_idx)
 
void dac_set_buffer_sw_trigger (DAC_Type *ptr)
 
void dac_set_hw_trigger_enable (DAC_Type *ptr, bool enable)
 
hpm_stat_t dac_external_dma_request_enable (DAC_Type *ptr, uint8_t buf_idx, bool enable)
 
void dac_set_buffer_dma_reset (DAC_Type *ptr)
 
void dac_enable_conversion (DAC_Type *ptr, bool enable)
 
void dac_enable_interrupts (DAC_Type *ptr, uint32_t mask)
 
uint32_t dac_get_status_flags (DAC_Type *ptr)
 
void dac_set_status_flags (DAC_Type *ptr, uint32_t mask)
 
uint8_t dac_get_current_buffer_index (DAC_Type *ptr)
 
uint16_t dac_get_current_buffer_offset (DAC_Type *ptr)
 

Macro Definition Documentation

◆ DAC_AHB_ERROR_EVENT

#define DAC_AHB_ERROR_EVENT   DAC_IRQ_EN_AHB_ERROR_MASK

◆ DAC_BUF0_COMPLETE_EVENT

#define DAC_BUF0_COMPLETE_EVENT   DAC_IRQ_EN_BUF0_CMPT_MASK

◆ DAC_BUF1_COMPLETE_EVENT

#define DAC_BUF1_COMPLETE_EVENT   DAC_IRQ_EN_BUF1_CMPT_MASK

◆ DAC_FIFO_EMPTY_EVENT

#define DAC_FIFO_EMPTY_EVENT   DAC_IRQ_EN_FIFO_EMPTY_MASK

◆ DAC_OUTPUT

#define DAC_OUTPUT (   PERCENT)    (PERCENT / 10000.0f * DAC_SOC_MAX_DATA)

Enumeration Type Documentation

◆ dac_ana_div_t

Enumerator
dac_ana_div_2 
dac_ana_div_4 
dac_ana_div_6 
dac_ana_div_8 

◆ dac_burst_type_t

Enumerator
dac_burst_single 
dac_burst_incr4 
dac_burst_incr8 

◆ dac_data_structure_t

Enumerator
dac_data_stru_2_point 
dac_data_stru_1_point 

◆ dac_mode_t

enum dac_mode_t
Enumerator
dac_mode_direct 
dac_mode_step 
dac_mode_buffer 
dac_mode_trig 

◆ dac_round_mode_t

Enumerator
dac_round_mode_oneshot 
dac_round_mode_loop 

◆ dac_step_direction_t

Enumerator
dac_step_up 
dac_step_down 

Function Documentation

◆ dac_enable_conversion()

void dac_enable_conversion ( DAC_Type ptr,
bool  enable 
)

◆ dac_enable_interrupts()

void dac_enable_interrupts ( DAC_Type ptr,
uint32_t  mask 
)

◆ dac_external_dma_request_enable()

hpm_stat_t dac_external_dma_request_enable ( DAC_Type ptr,
uint8_t  buf_idx,
bool  enable 
)

◆ dac_get_current_buffer_index()

uint8_t dac_get_current_buffer_index ( DAC_Type ptr)

◆ dac_get_current_buffer_offset()

uint16_t dac_get_current_buffer_offset ( DAC_Type ptr)

◆ dac_get_default_config()

void dac_get_default_config ( dac_config_t config)

◆ dac_get_status_flags()

uint32_t dac_get_status_flags ( DAC_Type ptr)

◆ dac_init()

hpm_stat_t dac_init ( DAC_Type ptr,
dac_config_t config 
)

◆ dac_set_buffer_config()

hpm_stat_t dac_set_buffer_config ( DAC_Type ptr,
dac_buffer_config_t config 
)

◆ dac_set_buffer_dma_reset()

void dac_set_buffer_dma_reset ( DAC_Type ptr)

◆ dac_set_buffer_sw_trigger()

void dac_set_buffer_sw_trigger ( DAC_Type ptr)

◆ dac_set_direct_config()

hpm_stat_t dac_set_direct_config ( DAC_Type ptr,
uint16_t  data 
)

◆ dac_set_hw_trigger_enable()

void dac_set_hw_trigger_enable ( DAC_Type ptr,
bool  enable 
)

◆ dac_set_output_frequency()

hpm_stat_t dac_set_output_frequency ( DAC_Type ptr,
uint32_t  dac_input_freq,
uint32_t  dac_output_freq 
)

◆ dac_set_status_flags()

void dac_set_status_flags ( DAC_Type ptr,
uint32_t  mask 
)

◆ dac_set_step_config()

hpm_stat_t dac_set_step_config ( DAC_Type ptr,
uint8_t  step_cfg_idx,
dac_step_config_t config 
)

◆ dac_set_step_sw_trigger()

hpm_stat_t dac_set_step_sw_trigger ( DAC_Type ptr,
uint8_t  step_sw_trig_idx 
)