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_spi_master.h"
70 #define HODCAP_REG_SENSOR_ID 0x01
71 #define HODCAP_REG_STATUS 0x02
72 #define HODCAP_REG_I_DATA 0x03
73 #define HODCAP_REG_Q_DATA 0x04
74 #define HODCAP_REG_ADC_STATUS 0x05
75 #define HODCAP_REG_EDIV 0x20
76 #define HODCAP_REG_FREQ 0x21
77 #define HODCAP_REG_TXV 0x22
78 #define HODCAP_REG_MUX_CTRL 0x23
79 #define HODCAP_REG_SDG 0x24
80 #define HODCAP_REG_CBG 0x25
81 #define HODCAP_REG_DCLK 0x26
82 #define HODCAP_REG_PGA 0x27
83 #define HODCAP_REG_PGA_OFFSET_I 0x28
84 #define HODCAP_REG_PGA_OFFSET_Q 0x29
85 #define HODCAP_REG_ADCTL 0x2A
86 #define HODCAP_REG_BLANK 0x2B
87 #define HODCAP_REG_DIAG_MUX_CTRL 0x2C
88 #define HODCAP_REG_QUICK_READ 0x90
94 #define HODCAP_CMD_WRITE 0x10
95 #define HODCAP_CMD_READ 0x00
96 #define HODCAP_CMD_QUICK_READ 0x90
114 #define HODCAP_SENSOR_ID 0xA431u
120 #define HODCAP_ADC_DATA_READY 0x0001u
126 #define HODCAP_SET_EDIV_12 0x0000u
127 #define HODCAP_SET_EDIV_11 0x0001u
128 #define HODCAP_SET_EDIV_10 0x0002u
129 #define HODCAP_SET_EDIV_9 0x0003u
130 #define HODCAP_SET_EDIV_8 0x0004u
131 #define HODCAP_SET_EDIV_7 0x0005u
132 #define HODCAP_SET_EDIV_6 0x0006u
133 #define HODCAP_SET_EDIV_5 0x0007u
134 #define HODCAP_SET_EDIV_4 0x0008u
135 #define HODCAP_SET_EDIV_3 0x0009u
136 #define HODCAP_SET_EDIV_2 0x000Au
137 #define HODCAP_SET_EDIV_1 0x000Bu
138 #define HODCAP_SET_EDIV_BIT_MASK 0x000Fu
144 #define HODCAP_SET_FREQ_45_45KHZ 0x0000u
145 #define HODCAP_SET_FREQ_71_4KHZ 0x0001u
146 #define HODCAP_SET_FREQ_100KHZ 0x0002u
147 #define HODCAP_SET_FREQ_125KHZ 0x0003u
153 #define HODCAP_SET_TXV_0V 0x0000u
154 #define HODCAP_SET_TXV_0_5V 0x0001u
155 #define HODCAP_SET_TXV_1V 0x0002u
161 #define HODCAP_SET_MUX_CTRL_MODE_OPEN 0x0000u
162 #define HODCAP_SET_MUX_CTRL_MODE_SENSOR_DRV 0x0001u
163 #define HODCAP_SET_MUX_CTRL_MODE_COMMON 0x0002u
164 #define HODCAP_SET_MUX_CTRL_MODE_NO_OP 0x0003u
165 #define HODCAP_SET_MUX_CTRL_SEL_SEN0 0x0000u
166 #define HODCAP_SET_MUX_CTRL_SEL_SEN1 0x0004u
167 #define HODCAP_SET_MUX_CTRL_SEL_SEN2 0x0008u
168 #define HODCAP_SET_MUX_CTRL_SEL_SEN3 0x000Cu
169 #define HODCAP_SET_MUX_CTRL_SEL_SEN4 0x0010u
170 #define HODCAP_SET_MUX_CTRL_SEL_SEN5 0x0014u
171 #define HODCAP_SET_MUX_CTRL_SEL_SEN6 0x0018u
172 #define HODCAP_SET_MUX_CTRL_SEL_SEN7 0x001Cu
173 #define HODCAP_SET_MUX_CTRL_SEL_SEN8 0x0020u
174 #define HODCAP_SET_MUX_CTRL_SEL_SEN9 0x0024u
175 #define HODCAP_SET_MUX_CTRL_SEL_NONE 0x0028u
176 #define HODCAP_SET_MUX_CTRL_SEL_VAR_SEN 0x002Cu
177 #define HODCAP_SET_MUX_CTRL_SEL_BIT_MASK 0x003Cu
183 #define HODCAP_TOTAL_NUMBER_OF_CHANNELS 10
189 #define HODCAP_SET_PGA_GAIN_36 0x0000u
190 #define HODCAP_SET_PGA_GAIN_24 0x0001u
191 #define HODCAP_SET_PGA_GAIN_16 0x0002u
192 #define HODCAP_SET_PGA_GAIN_10_67 0x0003u
193 #define HODCAP_SET_PGA_GAIN_7_11 0x0004u
194 #define HODCAP_SET_PGA_GAIN_4_74 0x0005u
195 #define HODCAP_SET_PGA_GAIN_3_16 0x0006u
196 #define HODCAP_SET_PGA_GAIN_2_11 0x0007u
202 #define HODCAP_SET_DEFAULT_PGA_OFFSET_I 96
203 #define HODCAP_SET_DEFAULT_PGA_OFFSET_Q 144
209 #define HODCAP_SET_ADCTL_MODE_RESET_STOP 0x0000u
210 #define HODCAP_SET_ADCTL_MODE_START_SINGLE_CONVO 0x0001u
211 #define HODCAP_SET_ADCTL_MODE_START_CONT_CONVO 0x0002u
212 #define HODCAP_SET_ADCTL_MODE_STOP_CURRENT_CONVO 0x0003u
213 #define HODCAP_SET_ADCTL_MODE_BIT_MASK 0x0003u
214 #define HODCAP_SET_ADCTL_CS_CLK_250KHZ 0x0000u
215 #define HODCAP_SET_ADCTL_CS_CLK_500KHZ 0x0004u
216 #define HODCAP_SET_ADCTL_CS_CLK_1000KHZ 0x0008u
217 #define HODCAP_SET_ADCTL_ACCU_NUMB_OF_SAMPLES_4 0x0000u
218 #define HODCAP_SET_ADCTL_ACCU_NUMB_OF_SAMPLES_8 0x0010u
219 #define HODCAP_SET_ADCTL_ACCU_NUMB_OF_SAMPLES_16 0x0020u
220 #define HODCAP_SET_ADCTL_TS_400US 0x0000u
221 #define HODCAP_SET_ADCTL_TS_576US 0x0040u
222 #define HODCAP_SET_ADCTL_TS_664US 0x0080u
228 #define HODCAP_SET_MUX_CTRL_PLUS_SEN0 0x0000u
229 #define HODCAP_SET_MUX_CTRL_PLUS_SEN1 0x0001u
230 #define HODCAP_SET_MUX_CTRL_PLUS_SEN2 0x0002u
231 #define HODCAP_SET_MUX_CTRL_PLUS_SEN3 0x0003u
232 #define HODCAP_SET_MUX_CTRL_PLUS_SEN4 0x0004u
233 #define HODCAP_SET_MUX_CTRL_PLUS_SEN5 0x0005u
234 #define HODCAP_SET_MUX_CTRL_PLUS_SEN6 0x0006u
235 #define HODCAP_SET_MUX_CTRL_PLUS_SEN7 0x0007u
236 #define HODCAP_SET_MUX_CTRL_PLUS_SEN8 0x0008u
237 #define HODCAP_SET_MUX_CTRL_PLUS_SEN9 0x0009u
238 #define HODCAP_SET_MUX_CTRL_PLUS_VAR_SEN 0x000Bu
239 #define HODCAP_SET_MUX_CTRL_PLUS_NONE 0x000Fu
240 #define HODCAP_SET_MUX_CTRL_MINUS_SEN0 0x0000u
241 #define HODCAP_SET_MUX_CTRL_MINUS_SEN1 0x0010u
242 #define HODCAP_SET_MUX_CTRL_MINUS_SEN2 0x0020u
243 #define HODCAP_SET_MUX_CTRL_MINUS_SEN3 0x0030u
244 #define HODCAP_SET_MUX_CTRL_MINUS_SEN4 0x0040u
245 #define HODCAP_SET_MUX_CTRL_MINUS_SEN5 0x0050u
246 #define HODCAP_SET_MUX_CTRL_MINUS_SEN6 0x0060u
247 #define HODCAP_SET_MUX_CTRL_MINUS_SEN7 0x0070u
248 #define HODCAP_SET_MUX_CTRL_MINUS_SEN8 0x0080u
249 #define HODCAP_SET_MUX_CTRL_MINUS_SEN9 0x0090u
250 #define HODCAP_SET_MUX_CTRL_MINUS_VAR_SEN 0x00B0u
251 #define HODCAP_SET_MUX_CTRL_MINUS_NONE 0x00F0u
261 #define HODCAP_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
262 #define HODCAP_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
280 #define HODCAP_MAP_MIKROBUS( cfg, mikrobus ) \
281 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
282 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
283 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
284 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
285 cfg.clk = MIKROBUS( mikrobus, MIKROBUS_PWM )
spi_master_t spi
Definition: hodcap.h:300
err_t hodcap_get_status(hodcap_t *ctx, hodcap_status_t *status)
HOD CAP gets sensor status function.
err_t hodcap_write_reg(hodcap_t *ctx, uint8_t reg, uint16_t data_in)
HOD CAP write register function.
err_t hodcap_get_i_q_data(hodcap_t *ctx, uint16_t *i_data, uint16_t *q_data)
HOD CAP gets the I and Q data function.
uint8_t otpf
Definition: hodcap.h:335
pin_name_t clk
Definition: hodcap.h:319
uint32_t spi_speed
Definition: hodcap.h:322
uint8_t tx2f
Definition: hodcap.h:343
uint8_t r_ediv
Definition: hodcap.h:334
This file contains SPI specific macros, functions, etc.
hodcap_return_value_t
HOD CAP Click return value data.
Definition: hodcap.h:356
err_t hodcap_default_cfg(hodcap_t *ctx)
HOD CAP default configuration function.
err_t hodcap_mux_channel_selection(hodcap_t *ctx, uint8_t sen_pos)
HOD CAP MUX channel selection function.
void hodcap_set_clk_state(hodcap_t *ctx, uint8_t clk_state)
HOD CAP set CLK pin state function.
uint8_t pga1f
Definition: hodcap.h:344
err_t hodcap_init(hodcap_t *ctx, hodcap_cfg_t *cfg)
HOD CAP initialization function.
HOD CAP Click configuration object.
Definition: hodcap.h:311
@ HODCAP_OK
Definition: hodcap.h:357
uint8_t bpff
Definition: hodcap.h:337
err_t hodcap_read_reg(hodcap_t *ctx, uint8_t reg, uint16_t *data_out)
HOD CAP read register function.
@ HODCAP_ERROR
Definition: hodcap.h:358
HOD CAP Click status object.
Definition: hodcap.h:333
HOD CAP Click context object.
Definition: hodcap.h:295
err_t hodcap_check_adc_data_ready(hodcap_t *ctx, uint16_t *data_ready)
HOD CAP check ADC data ready function.
uint8_t nclk
Definition: hodcap.h:346
digital_out_t clk
Definition: hodcap.h:297
spi_master_chip_select_polarity_t cs_polarity
Definition: hodcap.h:324
uint8_t ocsen
Definition: hodcap.h:340
err_t hodcap_generic_read(hodcap_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
HOD CAP data reading function.
uint8_t ocsld
Definition: hodcap.h:339
err_t hodcap_wait_adc_data_ready(hodcap_t *ctx)
HOD CAP wait ADC data ready function.
pin_name_t sck
Definition: hodcap.h:315
uint8_t tx1f
Definition: hodcap.h:342
err_t hodcap_generic_write(hodcap_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
HOD CAP data writing function.
pin_name_t mosi
Definition: hodcap.h:314
uint8_t pga2f
Definition: hodcap.h:345
uint8_t ppsf
Definition: hodcap.h:336
uint8_t cbf
Definition: hodcap.h:347
uint8_t test
Definition: hodcap.h:341
err_t hodcap_get_sensor_id(hodcap_t *ctx, uint16_t *sensor_id)
HOD CAP gets sensor ID function.
spi_master_mode_t spi_mode
Definition: hodcap.h:323
void hodcap_cfg_setup(hodcap_cfg_t *cfg)
HOD CAP configuration object setup function.
pin_name_t miso
Definition: hodcap.h:313
pin_name_t chip_select
Definition: hodcap.h:302
uint8_t regf
Definition: hodcap.h:338
pin_name_t cs
Definition: hodcap.h:316
err_t hodcap_set_adc_op_mode(hodcap_t *ctx, uint16_t adc_op_mode)
HOD CAP sets the ADC operation mode function.