46 lines
839 B
C
46 lines
839 B
C
#include "dac_drv.h"
|
|
|
|
#if (DEF_ELITE_MODEL == DEF_ELITE_EDC_20)
|
|
|
|
extern dac_drv_if_t max5316_drv;
|
|
static const dac_drv_if_t *p_inst = &max5316_drv;
|
|
#else
|
|
static dac_drv_if_t *p_inst = NULL;
|
|
#endif
|
|
|
|
int dac_init(void)
|
|
{
|
|
if (p_inst == NULL)
|
|
{
|
|
return DAC_DRV_ERROR;
|
|
}
|
|
return p_inst->init();
|
|
}
|
|
|
|
int dac_write(uint32_t channel_mask, int32_t dac_val)
|
|
{
|
|
if (p_inst == NULL)
|
|
{
|
|
return DAC_DRV_ERROR;
|
|
}
|
|
return p_inst->write_mode(channel_mask, dac_val);
|
|
}
|
|
|
|
int dac_load(uint32_t channel_mask)
|
|
{
|
|
if (p_inst == NULL)
|
|
{
|
|
return DAC_DRV_ERROR;
|
|
}
|
|
return p_inst->ldac_mode(channel_mask);
|
|
}
|
|
|
|
int dac_write_through(uint32_t channel_mask, int32_t dac_val)
|
|
{
|
|
if (p_inst == NULL)
|
|
{
|
|
return DAC_DRV_ERROR;
|
|
}
|
|
return p_inst->write_through_mode(channel_mask, dac_val);
|
|
}
|