Go to the documentation of this file.
39 #ifdef PREINIT_SUPPORTED
43 #ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
49 #include "drv_digital_out.h"
50 #include "drv_digital_in.h"
51 #include "drv_i2c_master.h"
73 #define C3DHALL14_REG_STAT1 0x00
74 #define C3DHALL14_REG_X_LSB 0x01
75 #define C3DHALL14_REG_X_MSB 0x02
76 #define C3DHALL14_REG_Y_LSB 0x03
77 #define C3DHALL14_REG_Y_MSB 0x04
78 #define C3DHALL14_REG_Z_LSB 0x05
79 #define C3DHALL14_REG_Z_MSB 0x06
80 #define C3DHALL14_REG_STAT2 0x07
81 #define C3DHALL14_REG_T_LSB 0x08
82 #define C3DHALL14_REG_T_MSB 0x09
83 #define C3DHALL14_REG_CID 0x0A
84 #define C3DHALL14_REG_DID 0x0B
85 #define C3DHALL14_REG_CTRL1 0x0E
86 #define C3DHALL14_REG_CTRL2 0x0F
87 #define C3DHALL14_REG_RST 0x11
88 #define C3DHALL14_REG_CTRL3 0x14
89 #define C3DHALL14_REG_CTRL4 0x15
90 #define C3DHALL14_REG_X_THR_LSB 0x58
91 #define C3DHALL14_REG_X_THR_MSB 0x59
92 #define C3DHALL14_REG_Y_THR_LSB 0x5A
93 #define C3DHALL14_REG_Y_THR_MSB 0x5B
94 #define C3DHALL14_REG_Z_THR_LSB 0x5C
95 #define C3DHALL14_REG_Z_THR_MSB 0x5D
113 #define C3DHALL14_MODE_POWER_DOWN_0 0x00
114 #define C3DHALL14_MODE_SINGLE_MEAS_0 0x01
115 #define C3DHALL14_MODE_CONT_MEAS_5HZ 0x02
116 #define C3DHALL14_MODE_CONT_MEAS_10HZ 0x03
117 #define C3DHALL14_MODE_CONT_MEAS_20HZ 0x04
118 #define C3DHALL14_MODE_CONT_MEAS_50HZ 0x05
119 #define C3DHALL14_MODE_CONT_MEAS_100HZ 0x06
120 #define C3DHALL14_MODE_SELF_TEST 0x07
121 #define C3DHALL14_MODE_POWER_DOWN_1 0x08
122 #define C3DHALL14_MODE_SINGLE_MEAS_1 0x09
123 #define C3DHALL14_MODE_CONT_MEAS_200HZ 0x0A
124 #define C3DHALL14_MODE_CONT_MEAS_500HZ 0x0B
125 #define C3DHALL14_MODE_CONT_MEAS_700HZ 0x0C
126 #define C3DHALL14_MODE_CONT_MEAS_1000HZ 0x0D
127 #define C3DHALL14_MODE_CONT_MEAS_1400HZ 0x0E
128 #define C3DHALL14_MODE_POWER_DOWN_2 0x0F
129 #define C3DHALL14_MODE_MASK 0x0F
135 #define C3DHALL14_COMPANY_ID 0x94
136 #define C3DHALL14_DEVICE_ID 0xAA
142 #define C3DHALL14_RESET 0x06
148 #define C3DHALL14_STAT1_INT 0x10
149 #define C3DHALL14_STAT1_RT 0x08
150 #define C3DHALL14_STAT1_DRDY 0x01
151 #define C3DHALL14_STAT2_DOR 0x08
152 #define C3DHALL14_STAT2_HOVF_Z 0x04
153 #define C3DHALL14_STAT2_HOVF_Y 0x02
154 #define C3DHALL14_STAT2_HOVF_X 0x01
160 #define C3DHALL14_DRDY_INT_ENABLE 0x01
161 #define C3DHALL14_DRDY_INT_DISABLE 0x00
162 #define C3DHALL14_DRDY_INT_EN_MASK 0x08
168 #define C3DHALL14_TEMPERATURE_RES 50.0f
169 #define C3DHALL14_TEMPERATURE_ENABLE 0x01
170 #define C3DHALL14_TEMPERATURE_DISABLE 0x00
171 #define C3DHALL14_TEMPERATURE_EN_MASK 0x20
177 #define C3DHALL14_MAG_FLUX_RES_H 1.5f
178 #define C3DHALL14_MAG_FLUX_RES_L 0.15f
179 #define C3DHALL14_RANGE_HIGH_LOW_CURRENT 0x00
180 #define C3DHALL14_RANGE_HIGH_LOW_NOISE 0x01
181 #define C3DHALL14_RANGE_LOW_LOW_NOISE 0x02
182 #define C3DHALL14_RANGE_MASK 0xE0
183 #define C3DHALL14_RANGE_SHIFT 5
190 #define C3DHALL14_DEVICE_ADDRESS 0x60
208 #define C3DHALL14_MAP_MIKROBUS( cfg, mikrobus ) \
209 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
210 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
211 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
508 #endif // C3DHALL14_H
i2c_master_t i2c
Definition: c3dhall14.h:226
err_t c3dhall14_mem_direct_read(c3dhall14_t *ctx, uint8_t *data_out, uint8_t len)
3D Hall 14 mem direct read function.
c3dhall14_return_value_t
3D Hall 14 Click return value data.
Definition: c3dhall14.h:257
void c3dhall14_cfg_setup(c3dhall14_cfg_t *cfg)
3D Hall 14 configuration object setup function.
uint8_t slave_address
Definition: c3dhall14.h:229
@ C3DHALL14_OK
Definition: c3dhall14.h:258
err_t c3dhall14_set_operating_mode(c3dhall14_t *ctx, uint8_t mode)
3D Hall 14 set operating mode function.
err_t c3dhall14_check_communication(c3dhall14_t *ctx)
3D Hall 14 check communication function.
pin_name_t scl
Definition: c3dhall14.h:242
err_t c3dhall14_mem_write_single(c3dhall14_t *ctx, uint8_t reg, uint8_t data_in)
3D Hall 14 mem write single function.
err_t c3dhall14_get_magnetic_flux(c3dhall14_t *ctx, float *x_axis, float *y_axis, float *z_axis)
3D Hall 14 get magnetic flux function.
err_t c3dhall14_get_temperature(c3dhall14_t *ctx, float *temperature)
3D Hall 14 get temperature function.
3D Hall 14 Click context object.
Definition: c3dhall14.h:221
digital_in_t int_pin
Definition: c3dhall14.h:223
err_t c3dhall14_mem_write_multi(c3dhall14_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
3D Hall 14 mem write multi function.
err_t c3dhall14_check_data_ready(c3dhall14_t *ctx)
3D Hall 14 check data ready function.
@ C3DHALL14_ERROR
Definition: c3dhall14.h:259
err_t c3dhall14_default_cfg(c3dhall14_t *ctx)
3D Hall 14 default configuration function.
err_t c3dhall14_set_range(c3dhall14_t *ctx, uint8_t range)
3D Hall 14 set range function.
pin_name_t int_pin
Definition: c3dhall14.h:245
err_t c3dhall14_reset(c3dhall14_t *ctx)
3D Hall 14 reset function.
3D Hall 14 Click configuration object.
Definition: c3dhall14.h:241
pin_name_t sda
Definition: c3dhall14.h:243
uint8_t drdy_int_out
Definition: c3dhall14.h:232
err_t c3dhall14_enable_drdy_int(c3dhall14_t *ctx, uint8_t enable)
3D Hall 14 enable drdy int function.
uint8_t c3dhall14_get_int_pin(c3dhall14_t *ctx)
3D Hall 14 get int pin function.
uint32_t i2c_speed
Definition: c3dhall14.h:247
err_t c3dhall14_enable_temp_sensor(c3dhall14_t *ctx, uint8_t enable)
3D Hall 14 enable temp sensor function.
err_t c3dhall14_mem_read(c3dhall14_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
3D Hall 14 mem read function.
uint8_t i2c_address
Definition: c3dhall14.h:248
float mag_flux_res
Definition: c3dhall14.h:231
err_t c3dhall14_init(c3dhall14_t *ctx, c3dhall14_cfg_t *cfg)
3D Hall 14 initialization function.