Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_i2c_master.h"
59 #define COMPASS7_REG_XOUT0 0x00
60 #define COMPASS7_REG_XOUT1 0x01
61 #define COMPASS7_REG_YOUT0 0x02
62 #define COMPASS7_REG_YOUT1 0x03
63 #define COMPASS7_REG_ZOUT0 0x04
64 #define COMPASS7_REG_ZOUT1 0x05
65 #define COMPASS7_REG_XOUT2 0x06
66 #define COMPASS7_REG_YOUT2 0x07
67 #define COMPASS7_REG_ZOUT2 0x08
68 #define COMPASS7_REG_TOUT 0x09
69 #define COMPASS7_REG_TPH0 0x0A
70 #define COMPASS7_REG_TPH1 0x0B
71 #define COMPASS7_REG_TU 0x0C
72 #define COMPASS7_REG_STATUS1 0x18
73 #define COMPASS7_REG_STATUS0 0x19
74 #define COMPASS7_REG_ODR 0x1A
75 #define COMPASS7_REG_CONTROL0 0x1B
76 #define COMPASS7_REG_CONTROL1 0x1C
77 #define COMPASS7_REG_CONTROL2 0x1D
78 #define COMPASS7_REG_ST_X_TH 0x1E
79 #define COMPASS7_REG_ST_Y_TH 0x1F
80 #define COMPASS7_REG_ST_Z_TH 0x20
81 #define COMPASS7_REG_ST_X 0x27
82 #define COMPASS7_REG_ST_Y 0x28
83 #define COMPASS7_REG_ST_Z 0x29
84 #define COMPASS7_REG_PRODUCT_ID 0x39
102 #define COMPASS7_STATUS1_MEAS_T_DONE 0x80
103 #define COMPASS7_STATUS1_MEAS_M_DONE 0x40
104 #define COMPASS7_STATUS1_SAT_SENSOR 0x20
105 #define COMPASS7_STATUS1_OTP_READ_DONE 0x10
106 #define COMPASS7_STATUS1_ST_FAIL 0x08
107 #define COMPASS7_STATUS1_MDT_FLAG_INT 0x04
108 #define COMPASS7_STATUS1_MEAS_T_DONE_INT 0x02
109 #define COMPASS7_STATUS1_MEAS_M_DONE_INT 0x01
115 #define COMPASS7_CONTROL0_CMM_FREQ_EN 0x80
116 #define COMPASS7_CONTROL0_AUTO_ST_EN 0x40
117 #define COMPASS7_CONTROL0_AUTO_SR_EN 0x20
118 #define COMPASS7_CONTROL0_DO_RESET 0x10
119 #define COMPASS7_CONTROL0_DO_SET 0x08
120 #define COMPASS7_CONTROL0_START_MDT 0x04
121 #define COMPASS7_CONTROL0_TAKE_MEAS_T 0x02
122 #define COMPASS7_CONTROL0_TAKE_MEAS_M 0x01
128 #define COMPASS7_CONTROL1_SW_RESET 0x80
129 #define COMPASS7_CONTROL1_ST_ENM 0x40
130 #define COMPASS7_CONTROL1_ST_ENP 0x20
131 #define COMPASS7_CONTROL1_Z_INHIBIT 0x10
132 #define COMPASS7_CONTROL1_Y_INHIBIT 0x08
133 #define COMPASS7_CONTROL1_X_INHIBIT 0x04
134 #define COMPASS7_CONTROL1_BW_6p6MS 0x00
135 #define COMPASS7_CONTROL1_BW_3p5MS 0x01
136 #define COMPASS7_CONTROL1_BW_2p0MS 0x02
137 #define COMPASS7_CONTROL1_BW_1p2MS 0x03
138 #define COMPASS7_CONTROL1_BW_BIT_MASK 0x03
144 #define COMPASS7_CONTROL2_HPOWER 0x80
145 #define COMPASS7_CONTROL2_INT_MEAS_DONE_EN 0x40
146 #define COMPASS7_CONTROL2_INT_MDT_EN 0x20
147 #define COMPASS7_CONTROL2_CMM_EN 0x10
148 #define COMPASS7_CONTROL2_EN_PRD_SET 0x08
149 #define COMPASS7_CONTROL2_PRD_SET_1_SMPL 0x00
150 #define COMPASS7_CONTROL2_PRD_SET_25_SMPL 0x01
151 #define COMPASS7_CONTROL2_PRD_SET_75_SMPL 0x02
152 #define COMPASS7_CONTROL2_PRD_SET_100_SMPL 0x03
153 #define COMPASS7_CONTROL2_PRD_SET_250_SMPL 0x04
154 #define COMPASS7_CONTROL2_PRD_SET_500_SMPL 0x05
155 #define COMPASS7_CONTROL2_PRD_SET_1000_SMPL 0x06
156 #define COMPASS7_CONTROL2_PRD_SET_2000_SMPL 0x07
157 #define COMPASS7_CONTROL2_PRD_SET_BIT_MASK 0x07
163 #define COMPASS7_ODR_DISABLE 0
164 #define COMPASS7_ODR_1HZ 1
165 #define COMPASS7_ODR_2HZ 2
166 #define COMPASS7_ODR_5HZ 5
167 #define COMPASS7_ODR_10HZ 10
168 #define COMPASS7_ODR_25HZ 25
169 #define COMPASS7_ODR_50HZ 50
170 #define COMPASS7_ODR_100HZ 100
176 #define COMPASS7_MAGNETIC_OFFSET 0x080000l
177 #define COMPASS7_MAGNETIC_RESOLUTION 0.0625
178 #define COMPASS7_MILLIGAUSS_TO_GAUSS 0.001
179 #define COMPASS7_TEMPERATURE_OFFSET 75
180 #define COMPASS7_TEMPERATURE_RESOLUTION 0.8
181 #define COMPASS7_TIMEOUT 2000
187 #define COMPASS7_MEAS_SINGLE_T 0
188 #define COMPASS7_MEAS_SINGLE_M 1
189 #define COMPASS7_MEAS_CONTINUOUS_M_1HZ 2
190 #define COMPASS7_MEAS_CONTINUOUS_M_2HZ 3
191 #define COMPASS7_MEAS_CONTINUOUS_M_5HZ 4
192 #define COMPASS7_MEAS_CONTINUOUS_M_10HZ 5
193 #define COMPASS7_MEAS_CONTINUOUS_M_25HZ 6
194 #define COMPASS7_MEAS_CONTINUOUS_M_50HZ 7
195 #define COMPASS7_MEAS_CONTINUOUS_M_100HZ 8
201 #define COMPASS7_PRODUCT_ID 0x10
208 #define COMPASS7_DEVICE_ADDRESS 0x30
226 #define COMPASS7_MAP_MIKROBUS( cfg, mikrobus ) \
227 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
228 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA );
float x_axis
Definition: compass7.h:267
err_t compass7_generic_read(compass7_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Compass 7 I2C reading function.
Compass 7 Click configuration object.
Definition: compass7.h:252
err_t compass7_default_cfg(compass7_t *ctx)
Compass 7 default configuration function.
pin_name_t sda
Definition: compass7.h:254
compass7_return_value_t
Compass 7 Click return value data.
Definition: compass7.h:278
err_t compass7_get_temperature(compass7_t *ctx, float *temperature)
Compass 7 get temperature function.
err_t compass7_check_communication(compass7_t *ctx)
Compass 7 check communication function.
i2c_master_t i2c
Definition: compass7.h:240
@ COMPASS7_OK
Definition: compass7.h:279
err_t compass7_write_register(compass7_t *ctx, uint8_t reg, uint8_t data_in)
Compass 7 write register function.
float z_axis
Definition: compass7.h:269
err_t compass7_soft_reset(compass7_t *ctx)
Compass 7 soft reset function.
err_t compass7_init(compass7_t *ctx, compass7_cfg_t *cfg)
Compass 7 initialization function.
err_t compass7_generic_write(compass7_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Compass 7 I2C writing function.
err_t compass7_get_magnetic_flux(compass7_t *ctx, compass7_magnetic_flux_t *flux)
Compass 7 get magnetic flux function.
void compass7_cfg_setup(compass7_cfg_t *cfg)
Compass 7 configuration object setup function.
float y_axis
Definition: compass7.h:268
err_t compass7_read_register(compass7_t *ctx, uint8_t reg, uint8_t *data_out)
Compass 7 read register function.
uint8_t slave_address
Definition: compass7.h:243
uint32_t i2c_speed
Definition: compass7.h:256
uint8_t i2c_address
Definition: compass7.h:257
Compass 7 magnetic flux data object.
Definition: compass7.h:266
Compass 7 Click context object.
Definition: compass7.h:238
err_t compass7_set_measurement_mode(compass7_t *ctx, uint8_t mode)
Compass 7 set measurement mode function.
@ COMPASS7_ERROR
Definition: compass7.h:280
pin_name_t scl
Definition: compass7.h:253