Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_i2c_master.h"
38 #include "drv_spi_master.h"
61 #define DAC9_REG_NOOP 0x00
62 #define DAC9_REG_DEVID 0x01
63 #define DAC9_REG_SYNC 0x02
64 #define DAC9_REG_CONFIG 0x03
65 #define DAC9_REG_GAIN 0x04
66 #define DAC9_REG_TRIGGER 0x05
67 #define DAC9_REG_STATUS 0x07
68 #define DAC9_REG_DAC 0x08
86 #define DAC9_SYNC_DISABLE 0x0000
87 #define DAC9_SYNC_ENABLE 0x0001
89 #define DAC9_CONFIG_REF_PWDWN_ENABLE 0x0000
90 #define DAC9_CONFIG_REF_PWDWN_DISABLE 0x0100
91 #define DAC9_CONFIG_REF_PWDWN_BIT_MASK 0x0100
92 #define DAC9_CONFIG_DAC_PWDWN_DISABLE 0x0000
93 #define DAC9_CONFIG_DAC_PWDWN_ENABLE 0x0001
94 #define DAC9_CONFIG_DAC_PWDWN_BIT_MASK 0x0001
96 #define DAC9_GAIN_REF_DIV_DISABLE 0x0000
97 #define DAC9_GAIN_REF_DIV_2 0x0100
98 #define DAC9_GAIN_REF_DIV_BIT_MASK 0x0100
99 #define DAC9_GAIN_BUFF_GAIN_1 0x0000
100 #define DAC9_GAIN_BUFF_GAIN_2 0x0001
101 #define DAC9_GAIN_BUFF_GAIN_BIT_MASK 0x0001
103 #define DAC9_TRIGGER_LDAC 0x0010
104 #define DAC9_TRIGGER_SOFT_RESET 0x000A
106 #define DAC9_STATUS_REF_ALARM_BIT_MASK 0x0001
113 #define DAC9_I2C_ADR_AGND 0x48
114 #define DAC9_I2C_ADR_VDD 0x49
115 #define DAC9_I2C_ADR_SDA 0x4A
116 #define DAC9_I2C_ADR_SCL 0x4B
126 #define DAC9_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
127 #define DAC9_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
145 #define DAC9_MAP_MIKROBUS( cfg, mikrobus ) \
146 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
147 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
148 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
149 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
150 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
151 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS )
err_t dac9_set_vout(dac9_t *ctx, uint16_t vout_mv)
Set Vout function.
void dac9_cfg_setup(dac9_cfg_t *cfg)
DAC 9 configuration object setup function.
pin_name_t scl
Definition: dac9.h:197
pin_name_t chip_select
Definition: dac9.h:183
@ DAC9_OK
Definition: dac9.h:221
dac9_drv_t
DAC 9 Click driver selector.
Definition: dac9.h:161
DAC 9 Click configuration object.
Definition: dac9.h:196
err_t dac9_init(dac9_t *ctx, dac9_cfg_t *cfg)
DAC 9 initialization function.
@ DAC9_ERROR
Definition: dac9.h:222
void dac9_set_synchronously_load(dac9_t *ctx)
Set synchronously load function.
err_t dac9_enable_sync(dac9_t *ctx, uint8_t en_sync)
Enable synchronous function.
err_t dac9_set_gain(dac9_t *ctx, uint16_t en_ref_div, uint16_t en_buff_gain)
Set gain function.
dac9_master_io_t write_f
Definition: dac9.h:186
This file contains SPI specific macros, functions, etc.
@ DAC9_DRV_SEL_I2C
Definition: dac9.h:163
void dac9_soft_reset(dac9_t *ctx)
Set reset function.
uint32_t spi_speed
Definition: dac9.h:207
spi_master_chip_select_polarity_t cs_polarity
Definition: dac9.h:209
err_t dac9_set_config(dac9_t *ctx, uint16_t en_ref_pwdwn, uint16_t en_dac_pwdwn)
Set config function.
dac9_drv_t drv_sel
Definition: dac9.h:184
uint8_t dac9_get_ref_alarm(dac9_t *ctx)
Get ref alarm function.
@ DAC9_DRV_SEL_SPI
Definition: dac9.h:162
i2c_master_t i2c
Definition: dac9.h:179
uint8_t i2c_address
Definition: dac9.h:205
pin_name_t miso
Definition: dac9.h:199
uint8_t slave_address
Definition: dac9.h:182
spi_master_mode_t spi_mode
Definition: dac9.h:208
DAC 9 Click context object.
Definition: dac9.h:178
pin_name_t cs
Definition: dac9.h:202
uint32_t i2c_speed
Definition: dac9.h:204
pin_name_t sda
Definition: dac9.h:198
err_t(* dac9_master_io_t)(struct dac9_s *, uint8_t, uint8_t *, uint8_t)
DAC 9 Click driver interface.
Definition: dac9.h:171
err_t dac9_generic_read(dac9_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
DAC 9 data reading function.
pin_name_t mosi
Definition: dac9.h:200
dac9_master_io_t read_f
Definition: dac9.h:187
void dac9_drv_interface_selection(dac9_cfg_t *cfg, dac9_drv_t drv_sel)
DAC 9 driver interface setup function.
dac9_drv_t drv_sel
Definition: dac9.h:211
dac9_return_value_t
DAC 9 Click return value data.
Definition: dac9.h:220
pin_name_t sck
Definition: dac9.h:201
err_t dac9_generic_write(dac9_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
DAC 9 data writing function.
struct dac9_s dac9_t
DAC 9 Click context object.
spi_master_t spi
Definition: dac9.h:180