Go to the documentation of this file.
42 #ifdef PREINIT_SUPPORTED
46 #ifdef MikroCCoreVersion
47 #if MikroCCoreVersion >= 1
52 #include "drv_digital_out.h"
53 #include "drv_i2c_master.h"
65 #define DAC5_MAP_MIKROBUS( cfg, mikrobus ) \
66 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
67 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
68 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
69 cfg.lda = MIKROBUS( mikrobus, MIKROBUS_PWM )
76 #define DAC5_RETVAL uint8_t
79 #define DAC5_INIT_ERROR 0xFF
81 #define DAC5_SUCCESS 1
88 #define DAC5_SLAVE_ADDRESS_BROADCAST 0x47
89 #define DAC5_SLAVE_ADDRESS_GND 0x48
90 #define DAC5_SLAVE_ADDRESS_VCC 0x49
91 #define DAC5_SLAVE_ADDRESS_SDA 0x4A
92 #define DAC5_SLAVE_ADDRESS_SCL 0x4B
99 #define DAC5_VREF_3300MV 3300
100 #define DAC5_VREF_5000MV 5000
101 #define DAC5_VREF_2048MV 2048
102 #define DAC5_VREF_1024MV 1024
109 #define DAC5_REG_CONFIG 0x01
110 #define DAC5_REG_STATUS_TRIGGER 0x02
111 #define DAC5_REG_BRDCAST 0x03
112 #define DAC5_REG_DAC_A_DATA 0x08
113 #define DAC5_REG_DAC_B_DATA 0x09
114 #define DAC5_REG_DAC_C_DATA 0x0A
115 #define DAC5_REG_DAC_D_DATA 0x0B
116 #define DAC5_REG_DAC_E_DATA 0x0C
117 #define DAC5_REG_DAC_F_DATA 0x0D
118 #define DAC5_REG_DAC_G_DATA 0x0E
119 #define DAC5_REG_DAC_H_DATA 0x0F
126 #define DAC5_CONFIG_DEFAULT 0x00FF
127 #define DAC5_CONFIG_GLOBAL_ENABLED 0x0000
128 #define DAC5_CONFIG_GLOBAL_DISABLED 0x0100
129 #define DAC5_CONFIG_A_ENABLED 0x0000
130 #define DAC5_CONFIG_A_DISABLED 0x0001
131 #define DAC5_CONFIG_B_ENABLED 0x0000
132 #define DAC5_CONFIG_B_DISABLED 0x0002
133 #define DAC5_CONFIG_C_ENABLED 0x0000
134 #define DAC5_CONFIG_C_DISABLED 0x0004
135 #define DAC5_CONFIG_D_ENABLED 0x0000
136 #define DAC5_CONFIG_D_DISABLED 0x0008
137 #define DAC5_CONFIG_E_ENABLED 0x0000
138 #define DAC5_CONFIG_E_DISABLED 0x0010
139 #define DAC5_CONFIG_F_ENABLED 0x0000
140 #define DAC5_CONFIG_F_DISABLED 0x0020
141 #define DAC5_CONFIG_G_ENABLED 0x0000
142 #define DAC5_CONFIG_G_DISABLED 0x0040
143 #define DAC5_CONFIG_H_ENABLED 0x0000
144 #define DAC5_CONFIG_H_DISABLED 0x0080
151 #define DAC5_DEVICE_ID 0x0300
152 #define DAC5_SOFTWARE_RESET 0x000A
159 #define DAC5_MIN_DATA 0x0000
160 #define DAC5_MAX_DATA 0x0FFF
168 #define DAC5_SUCCESS 1
175 #define DAC5_SYNCHRONOUS 1
176 #define DAC5_ASYNCHRONOUS 0
uint16_t dac5_generic_read(dac5_t *ctx, uint8_t reg)
Generic read function.
Click configuration structure definition.
Definition: dac5.h:211
pin_name_t scl
Definition: dac5.h:214
Click ctx object definition.
Definition: dac5.h:190
void dac5_cfg_setup(dac5_cfg_t *cfg)
Config Object Initialization function.
uint8_t slave_address
Definition: dac5.h:202
void dac5_software_reset(dac5_t *ctx)
Function for software reset.
uint8_t dac5_set_ldac_pin(dac5_t *ctx, uint8_t status)
Function for setting LDAC pin status.
pin_name_t lda
Definition: dac5.h:220
uint8_t dac5_send_data(dac5_t *ctx, uint8_t data_reg, uint16_t data_buf)
Function for sending data to one output.
uint32_t i2c_speed
Definition: dac5.h:224
void dac5_generic_write(dac5_t *ctx, uint8_t reg, uint16_t data_buf)
Generic write function.
digital_out_t rst
Definition: dac5.h:193
DAC5_RETVAL dac5_init(dac5_t *ctx, dac5_cfg_t *cfg)
Initialization function.
uint8_t i2c_address
Definition: dac5.h:225
digital_out_t lda
Definition: dac5.h:194
#define DAC5_RETVAL
Definition: dac5.h:76
pin_name_t rst
Definition: dac5.h:219
pin_name_t sda
Definition: dac5.h:215
uint16_t dac5_get_device_id(dac5_t *ctx)
Function for reading device id.
i2c_master_t i2c
Definition: dac5.h:198
void dac5_clear(dac5_t *ctx)
Function for clearing sent data.
void dac5_config(dac5_t *ctx, uint16_t config_data)
Function for configurating Click.
uint16_t vref
Definition: dac5.h:203