38 #include "drv_digital_in.h" 39 #include "drv_i2c_master.h" 51 #define ADC8_MAP_MIKROBUS( cfg, mikrobus ) \ 52 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \ 53 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \ 54 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT ); 61 #define ADC8_RETVAL uint8_t 64 #define ADC8_INIT_ERROR 0xFF 71 #define ADC8_REG_CONFIGURATION 0x01 72 #define ADC8_REG_CONVERSION 0x00 73 #define ADC8_REG_THRESHOLD_LOW 0x02 74 #define ADC8_REG_THRESHOLD_HIGH 0x03 81 #define ADC8_CFG_CONVERSION_ENABLE 0x0000 82 #define ADC8_CFG_CONVERSION_DISABLE 0x8000 89 #define ADC8_CFG_MUX_AINP0_AINN1 0x0000 90 #define ADC8_CFG_MUX_AINP0_AINN3 0x1000 91 #define ADC8_CFG_MUX_AINP1_AINN3 0x2000 92 #define ADC8_CFG_MUX_AINP2_AINN3 0x3000 93 #define ADC8_CFG_MUX_AINP0_GND 0x4000 94 #define ADC8_CFG_MUX_AINP1_GND 0x5000 95 #define ADC8_CFG_MUX_AINP2_GND 0x6000 96 #define ADC8_CFG_MUX_AINP3_GND 0x7000 103 #define ADC8_CFG_GAIN_6144mV 0x0000 104 #define ADC8_CFG_GAIN_4096mV 0x0200 105 #define ADC8_CFG_GAIN_2048mV 0x0400 106 #define ADC8_CFG_GAIN_1024mV 0x0600 107 #define ADC8_CFG_GAIN_512mV 0x0800 108 #define ADC8_CFG_GAIN_256mV 0x0A00 115 #define ADC8_CFG_MODE_CONTINUOUS 0x0000 116 #define ADC8_CFG_MODE_SINGLE 0x0100 123 #define ADC8_CFG_SPS_8 0x0000 124 #define ADC8_CFG_SPS_16 0x0020 125 #define ADC8_CFG_SPS_32 0x0040 126 #define ADC8_CFG_SPS_64 0x0060 127 #define ADC8_CFG_SPS_128 0x0080 128 #define ADC8_CFG_SPS_250 0x00A0 129 #define ADC8_CFG_SPS_475 0x00C0 130 #define ADC8_CFG_SPS_860 0x00E0 137 #define ADC8_CFG_COMP_MODE_TRADITIONAL 0x0000 138 #define ADC8_CFG_COMP_MODE_WINDOW 0x0010 145 #define ADC8_CFG_COMP_POL_LOW 0x0000 146 #define ADC8_CFG_COMP_POL_HIGH 0x0008 153 #define ADC8_CFG_COMP_LAT_ENABLE 0x0000 154 #define ADC8_CFG_COMP_LAT_DISABLE 0x0004 156 #define ADC8_CFG_COMP_QUE_1_CONV 0x0000 157 #define ADC8_CFG_COMP_QUE_2_CONV 0x0001 158 #define ADC8_CFG_COMP_QUE_4_CONV 0x0002 159 #define ADC8_CFG_COMP_QUE_ALERT_CONV 0x0003 166 #define ADC8_DEVICE_SLAVE_ADDR_GND 0x48 167 #define ADC8_DEVICE_SLAVE_ADDR_VDD 0x49 168 #define ADC8_DEVICE_SLAVE_ADDR_SDA 0x4A 169 #define ADC8_DEVICE_SLAVE_ADDR_SCL 0x4B 176 #define ADC8_SINGLE_CHANNEL_0 0x00 177 #define ADC8_SINGLE_CHANNEL_1 0x01 178 #define ADC8_SINGLE_CHANNEL_2 0x02 179 #define ADC8_SINGLE_CHANNEL_3 0x03 180 #define ADC8_DIFF_CHANNEL_0_1 0x04 181 #define ADC8_DIFF_CHANNEL_0_3 0x05 182 #define ADC8_DIFF_CHANNEL_1_3 0x06 183 #define ADC8_DIFF_CHANNEL_2_3 0x07 float ch_0_1
Definition: adc8.h:254
void adc8_cfg_setup(adc8_cfg_t *cfg)
Config Object Initialization function.
uint8_t diff_flag
Definition: adc8.h:212
i2c_master_t i2c
Definition: adc8.h:204
float ch_1
Definition: adc8.h:243
float ch_2_3
Definition: adc8.h:257
digital_in_t int_pin
Definition: adc8.h:200
void adc8_generic_write(adc8_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
pin_name_t sda
Definition: adc8.h:224
hal_i2c_address_t i2c_address
Definition: adc8.h:233
float ch_3
Definition: adc8.h:245
float ch_0
Definition: adc8.h:242
Click configuration structure definition.
Definition: adc8.h:219
void adc8_generic_read(adc8_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
float adc8_get_voltage(adc8_t *ctx, uint8_t channel)
Read Voltage in mV.
hal_i2c_speed_t i2c_speed
Definition: adc8.h:232
void adc8_set_cfg_register(adc8_t *ctx, uint16_t cfg)
Device configuration for measurement.
float ch_1_3
Definition: adc8.h:256
float max_voltage
Definition: adc8.h:210
#define ADC8_RETVAL
Definition: adc8.h:61
hal_i2c_address_t slave_address
Definition: adc8.h:208
ADC8_RETVAL adc8_init(adc8_t *ctx, adc8_cfg_t *cfg)
Initialization function.
Click ctx object definition.
Definition: adc8.h:196
Diff channel (volt) type.
Definition: adc8.h:252
pin_name_t int_pin
Definition: adc8.h:228
uint16_t cfg_reg_value
Definition: adc8.h:211
uint8_t adc8_get_interrupt_state(adc8_t *ctx)
Get interrupt pin state.
float ch_0_3
Definition: adc8.h:255
float ch_2
Definition: adc8.h:244
void adc8_get_single_channel(adc8_t *ctx, adc8_single_volt_t *volt)
Get [Package} Single channel voltage.
pin_name_t scl
Definition: adc8.h:223
Single channel (volt) type.
Definition: adc8.h:240
void adc8_default_cfg(adc8_t *ctx)
Click Default Configuration function.
void adc8_get_diff_channel(adc8_t *ctx, adc8_diff_volt_t *volt)
Get [Package] Diff channel voltage.
uint16_t adc8_get_adc_value(adc8_t *ctx, uint8_t channel)
Get ADC value on the channel.