Go to the documentation of this file.
35 #include "mikrosdk_version.h"
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_i2c_master.h"
48 #include "drv_spi_master.h"
71 #define DAC9_REG_NOOP 0x00
72 #define DAC9_REG_DEVID 0x01
73 #define DAC9_REG_SYNC 0x02
74 #define DAC9_REG_CONFIG 0x03
75 #define DAC9_REG_GAIN 0x04
76 #define DAC9_REG_TRIGGER 0x05
77 #define DAC9_REG_STATUS 0x07
78 #define DAC9_REG_DAC 0x08
96 #define DAC9_SYNC_DISABLE 0x0000
97 #define DAC9_SYNC_ENABLE 0x0001
99 #define DAC9_CONFIG_REF_PWDWN_ENABLE 0x0000
100 #define DAC9_CONFIG_REF_PWDWN_DISABLE 0x0100
101 #define DAC9_CONFIG_REF_PWDWN_BIT_MASK 0x0100
102 #define DAC9_CONFIG_DAC_PWDWN_DISABLE 0x0000
103 #define DAC9_CONFIG_DAC_PWDWN_ENABLE 0x0001
104 #define DAC9_CONFIG_DAC_PWDWN_BIT_MASK 0x0001
106 #define DAC9_GAIN_REF_DIV_DISABLE 0x0000
107 #define DAC9_GAIN_REF_DIV_2 0x0100
108 #define DAC9_GAIN_REF_DIV_BIT_MASK 0x0100
109 #define DAC9_GAIN_BUFF_GAIN_1 0x0000
110 #define DAC9_GAIN_BUFF_GAIN_2 0x0001
111 #define DAC9_GAIN_BUFF_GAIN_BIT_MASK 0x0001
113 #define DAC9_TRIGGER_LDAC 0x0010
114 #define DAC9_TRIGGER_SOFT_RESET 0x000A
116 #define DAC9_STATUS_REF_ALARM_BIT_MASK 0x0001
123 #define DAC9_I2C_ADR_AGND 0x48
124 #define DAC9_I2C_ADR_VDD 0x49
125 #define DAC9_I2C_ADR_SDA 0x4A
126 #define DAC9_I2C_ADR_SCL 0x4B
136 #define DAC9_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
137 #define DAC9_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
155 #define DAC9_MAP_MIKROBUS( cfg, mikrobus ) \
156 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
157 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
158 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
159 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
160 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
161 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:207
pin_name_t chip_select
Definition: dac9.h:193
@ DAC9_OK
Definition: dac9.h:231
dac9_drv_t
DAC 9 Click driver selector.
Definition: dac9.h:171
DAC 9 Click configuration object.
Definition: dac9.h:206
err_t dac9_init(dac9_t *ctx, dac9_cfg_t *cfg)
DAC 9 initialization function.
@ DAC9_ERROR
Definition: dac9.h:232
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:196
This file contains SPI specific macros, functions, etc.
@ DAC9_DRV_SEL_I2C
Definition: dac9.h:173
void dac9_soft_reset(dac9_t *ctx)
Set reset function.
uint32_t spi_speed
Definition: dac9.h:217
spi_master_chip_select_polarity_t cs_polarity
Definition: dac9.h:219
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:194
uint8_t dac9_get_ref_alarm(dac9_t *ctx)
Get ref alarm function.
@ DAC9_DRV_SEL_SPI
Definition: dac9.h:172
i2c_master_t i2c
Definition: dac9.h:189
uint8_t i2c_address
Definition: dac9.h:215
pin_name_t miso
Definition: dac9.h:209
uint8_t slave_address
Definition: dac9.h:192
spi_master_mode_t spi_mode
Definition: dac9.h:218
DAC 9 Click context object.
Definition: dac9.h:188
pin_name_t cs
Definition: dac9.h:212
uint32_t i2c_speed
Definition: dac9.h:214
pin_name_t sda
Definition: dac9.h:208
err_t(* dac9_master_io_t)(struct dac9_s *, uint8_t, uint8_t *, uint8_t)
DAC 9 Click driver interface.
Definition: dac9.h:181
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:210
dac9_master_io_t read_f
Definition: dac9.h:197
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:221
dac9_return_value_t
DAC 9 Click return value data.
Definition: dac9.h:230
pin_name_t sck
Definition: dac9.h:211
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:190