62 lines
1.2 KiB
C
62 lines
1.2 KiB
C
#ifndef __DAC_DRV_H__
|
|
#define __DAC_DRV_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "app_config.h"
|
|
#include "dac_drv_if.h"
|
|
|
|
#define DAC_DRV_ERROR (-1)
|
|
#define DAC_DRV_SUCCESS (0)
|
|
|
|
#define DAC_CH0 (0x01 << 0)
|
|
#define DAC_CH1 (0x01 << 1)
|
|
#define DAC_CH2 (0x01 << 2)
|
|
#define DAC_CH3 (0x01 << 3)
|
|
|
|
#if (DEF_DAC_DRV_ENABLED)
|
|
int dac_init(void);
|
|
int dac_load(uint32_t channel_mask);
|
|
|
|
/*
|
|
single channel output example:
|
|
...
|
|
dac_write(DAC_CH0, 128);
|
|
dac_load(DAC_CH0);
|
|
...
|
|
|
|
muti-channel output example:
|
|
...
|
|
dac_write(DAC_CH0 | DAC_CH1, 128);
|
|
dac_load(DAC_CH0 | DAC_CH1);
|
|
...
|
|
*/
|
|
int dac_write(uint32_t channel_mask, int32_t dac_val);
|
|
|
|
/*
|
|
single channel output example:
|
|
...
|
|
dac_write_through(DAC_CH0, 128);
|
|
...
|
|
|
|
muti-channel output example:
|
|
...
|
|
dac_write_through(DAC_CH0 | DAC_CH1, 128);
|
|
...
|
|
*/
|
|
int dac_write_through(uint32_t channel_mask, int32_t dac_val);
|
|
#else
|
|
#define dac_init();
|
|
#define dac_load(x);
|
|
#define dac_write(x, y);
|
|
#define dac_write_through(x, y);
|
|
#endif /* ! DEF_DAC_DRV_ENABLED */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* ! __DAC_DRV_H__ */
|