Go to the documentation of this file.
37 #include "mikrosdk_version.h"
40 #if mikroSDK_GET_VERSION < 20800ul
41 #include "rcu_delays.h"
47 #include "drv_digital_out.h"
48 #include "drv_digital_in.h"
49 #include "drv_spi_master.h"
62 #define ACCEL14_MAP_MIKROBUS( cfg, mikrobus ) \
63 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
64 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
65 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
66 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
67 cfg.i2 = MIKROBUS( mikrobus, MIKROBUS_RST ); \
68 cfg.i1 = MIKROBUS( mikrobus, MIKROBUS_INT )
75 #define ACCEL14_RETVAL uint8_t
77 #define ACCEL14_OK 0x00
78 #define ACCEL14_INIT_ERROR 0xFF
85 #define ACCEL14_REG_PIN_CTRL 0x02
86 #define ACCEL14_REG_FIFO_CTRL1 0x07
87 #define ACCEL14_REG_FIFO_CTRL2 0x08
88 #define ACCEL14_REG_FIFO_CTRL3 0x09
89 #define ACCEL14_REG_FIFO_CTRL4 0x0A
90 #define ACCEL14_REG_COUNTER_BDR_REG1 0x0B
91 #define ACCEL14_REG_COUNTER_BDR_REG2 0x0C
92 #define ACCEL14_REG_INT1_CTRL 0x0D
93 #define ACCEL14_REG_INT2_CTRL 0x0E
94 #define ACCEL14_REG_WHO_AM_I 0x0F
95 #define ACCEL14_REG_CTRL1_XL 0x10
96 #define ACCEL14_REG_CTRL3_C 0x12
97 #define ACCEL14_REG_CTRL4_C 0x13
98 #define ACCEL14_REG_CTRL5_C 0x14
99 #define ACCEL14_REG_CTRL6_C 0x15
100 #define ACCEL14_REG_CTRL7_C 0x16
101 #define ACCEL14_REG_CTRL8_XL 0x17
102 #define ACCEL14_REG_CTRL10_C 0x19
103 #define ACCEL14_REG_ALL_INT_SRC 0x1A
104 #define ACCEL14_REG_WAKE_UP_SRC 0x1B
105 #define ACCEL14_REG_STATUS_REG 0x1E
106 #define ACCEL14_REG_OUT_TEMP_L 0x20
107 #define ACCEL14_REG_OUT_TEMP_H 0x21
108 #define ACCEL14_REG_OUTX_L_A 0x28
109 #define ACCEL14_REG_OUTX_H_A 0x29
110 #define ACCEL14_REG_OUTY_L_A 0x2A
111 #define ACCEL14_REG_OUTY_H_A 0x2B
112 #define ACCEL14_REG_OUTZ_L_A 0x2C
113 #define ACCEL14_REG_OUTZ_H_A 0x2D
114 #define ACCEL14_REG_FIFO_STATUS1 0x3A
115 #define ACCEL14_REG_FIFO_STATUS2 0x3B
116 #define ACCEL14_REG_TIMESTAMP0 0x40
117 #define ACCEL14_REG_TIMESTAMP1 0x41
118 #define ACCEL14_REG_TIMESTAMP2 0x42
119 #define ACCEL14_REG_TIMESTAMP3 0x43
120 #define ACCEL14_REG_SLOPE_EN 0x56
121 #define ACCEL14_REG_INTERRUPTS_EN 0x58
122 #define ACCEL14_REG_WAKE_UP_THS 0x5B
123 #define ACCEL14_REG_WAKE_UP_DUR 0x5C
124 #define ACCEL14_REG_MD1_CFG 0x5E
125 #define ACCEL14_REG_MD2_CFG 0x5F
126 #define ACCEL14_REG_INTERNAL_FREQ_FINE 0x63
127 #define ACCEL14_REG_X_OFS_USR 0x73
128 #define ACCEL14_REG_Y_OFS_USR 0x74
129 #define ACCEL14_REG_Z_OFS_USR 0x75
130 #define ACCEL14_REG_FIFO_DATA_OUT_TAG 0x78
131 #define ACCEL14_REG_FIFO_DATA_OUT_X_L 0x79
132 #define ACCEL14_REG_FIFO_DATA_OUT_X_H 0x7A
133 #define ACCEL14_REG_FIFO_DATA_OUT_Y_L 0x7B
134 #define ACCEL14_REG_FIFO_DATA_OUT_Y_H 0x7C
135 #define ACCEL14_REG_FIFO_DATA_OUT_Z_L 0x7D
136 #define ACCEL14_REG_FIFO_DATA_OUT_Z_H 0x7E
143 #define ACCEL14_ID_VALUE 0x7B
150 #define ACCEL14_CTRL1_XL_POWER_BIT_MASK 0xE0
151 #define ACCEL14_CTRL1_XL_POWER_DOWN 0x00
152 #define ACCEL14_CTRL1_XL_POWER_UP 0xA0
154 #define ACCEL14_CTRL1_XL_HIGH_RES_BIT_MASK 0x02
155 #define ACCEL14_CTRL1_XL_HIGH_RES_FS 0x00
156 #define ACCEL14_CTRL1_XL_HIGH_RES_SS 0x02
158 #define ACCEL14_CTRL1_XL_GSEL_BIT_MASK 0x0C
159 #define ACCEL14_CTRL1_XL_GSEL_2G 0x00
160 #define ACCEL14_CTRL1_XL_GSEL_16G 0x04
161 #define ACCEL14_CTRL1_XL_GSEL_4G 0x08
162 #define ACCEL14_CTRL1_XL_GSEL_8G 0x0C
164 #define ACCEL14_COEF_RES_2G 0.061
165 #define ACCEL14_COEF_RES_4G 0.122
166 #define ACCEL14_COEF_RES_8G 0.244
167 #define ACCEL14_COEF_RES_16G 0.488
174 #define ACCEL14_CTRL3_C_BOOT_NORMAL 0x00
175 #define ACCEL14_CTRL3_C_BOOT_REBOOT 0x80
176 #define ACCEL14_CTRL3_C_BDU_CONTINUOUS 0x00
177 #define ACCEL14_CTRL3_C_BDU_READ_UPDATE 0x40
178 #define ACCEL14_CTRL3_C_INT_ACTIVE_HIGH 0x00
179 #define ACCEL14_CTRL3_C_INT_ACTIVE_LOW 0x20
180 #define ACCEL14_CTRL3_C_PP_OD_PUSH_PULL 0x00
181 #define ACCEL14_CTRL3_C_PP_OD_OPEN_DRAIN 0x10
182 #define ACCEL14_CTRL3_C_SIM_SPI_4_WIRE 0x00
183 #define ACCEL14_CTRL3_C_SIM_SPI_3_WIRE 0x08
184 #define ACCEL14_CTRL3_C_IF_INC_DISABLE 0x00
185 #define ACCEL14_CTRL3_C_IF_INC_ENABLE 0x04
186 #define ACCEL14_CTRL3_C_SW_RESET_DIS 0x00
187 #define ACCEL14_CTRL3_C_SW_RESET_EN 0x01
194 #define ACCEL14_CTRL4_C_INT1_2_DIV 0x00
195 #define ACCEL14_CTRL4_C_INT1_2_LOGIC_INT1 0x20
196 #define ACCEL14_CTRL4_C_DRDY_MASK_DIS 0x00
197 #define ACCEL14_CTRL4_C_DRDY_MASK_EN 0x10
198 #define ACCEL14_CTRL4_C_SPI_I2C_EN 0x00
199 #define ACCEL14_CTRL4_C_I2C_DISABLE 0x04
200 #define ACCEL14_CTRL4_C_3REGOUT_EN 0x00
201 #define ACCEL14_CTRL4_C_1AX_EN 0x01
208 #define ACCEL14_CTRL5_C_ROUNDING_NO 0x00
209 #define ACCEL14_CTRL5_C_ROUNDING_EN 0x20
210 #define ACCEL14_CTRL5_C_ST_NORMAL 0x00
211 #define ACCEL14_CTRL5_C_ST_POSITIVE 0x01
212 #define ACCEL14_CTRL5_C_ST_NEGATIVE 0x02
219 #define ACCEL14_CTRL6_C_USR_OFF_W_10 0x00
220 #define ACCEL14_CTRL6_C_USR_OFF_W_2 0x08
221 #define ACCEL14_CTRL6_C_SEL_3_AXES 0x00
222 #define ACCEL14_CTRL6_C_SEL_X_AXES 0x01
223 #define ACCEL14_CTRL6_C_SEL_Y_AXES 0x02
224 #define ACCEL14_CTRL6_C_SEL_Z_AXES 0x03
231 #define ACCEL14_CTRL7_C_USR_OFF_OUT 0x00
232 #define ACCEL14_CTRL7_C_USR_ON_OUT 0x02
239 #define ACCEL14_CTRL8_ODR_4 0x00
240 #define ACCEL14_CTRL8_ODR_10 0x20
241 #define ACCEL14_CTRL8_ODR_20 0x40
242 #define ACCEL14_CTRL8_ODR_45 0x60
243 #define ACCEL14_CTRL8_ODR_100 0x80
244 #define ACCEL14_CTRL8_ODR_200 0xA0
245 #define ACCEL14_CTRL8_ODR_400 0xC0
246 #define ACCEL14_CTRL8_ODR_800 0xE0
247 #define ACCEL14_CTRL8_HIGH_PASS_DIS 0x00
248 #define ACCEL14_CTRL8_HIGH_PASS_EN 0x10
249 #define ACCEL14_CTRL8_LPF2_HPF_DIS 0x00
250 #define ACCEL14_CTRL8_LPF2_HPF_EN 0x08
257 #define ACCEL14_CTRL10_TIMESTAMP_DIS 0x00
258 #define ACCEL14_CTRL10_TIMESTAMP_EN 0x20
265 #define ACCEL14_CHECK_ID_ERROR 0x00
266 #define ACCEL14_CHECK_ID_SUCCESS 0x01
273 #define ACCEL14_STATUS_DATA_READY 0x05
274 #define ACCEL14_STATUS_TEMP_READY 0x04
275 #define ACCEL14_STATUS_ACCEL_READY 0x01
276 #define ACCEL14_NEW_DATA_NO_DATA 0x00
277 #define ACCEL14_NEW_DATA_AVAILABLE 0x01
284 #define ACCEL14_SPI_WRITE 0x00
285 #define ACCEL14_SPI_READ 0x80
292 #define ACCEL14_DUMMY 0x00
588 #endif // _ACCEL14_H_
#define ACCEL14_RETVAL
Definition: accel14.h:75
digital_in_t i2
Definition: accel14.h:326
pin_name_t i1
Definition: accel14.h:350
uint8_t accel14_check_communication(accel14_t *ctx)
Check communication function.
pin_name_t miso
Definition: accel14.h:342
pin_name_t cs
Definition: accel14.h:345
uint8_t accel14_check_accel_data_ready(accel14_t *ctx)
Check accel data ready function.
pin_name_t sck
Definition: accel14.h:344
spi_master_chip_select_polarity_t cs_polarity
Definition: accel14.h:356
void accel14_get_data(accel14_t *ctx, accel14_accel_t *accel_data)
Get Accel data function.
uint8_t accel14_check_temp_data_ready(accel14_t *ctx)
Check temperature data ready function.
spi_master_t spi
Definition: accel14.h:330
Click configuration structure definition.
Definition: accel14.h:339
int16_t z
Definition: accel14.h:306
uint8_t accel14_generic_read(accel14_t *ctx, uint8_t reg)
Generic read function.
float accel_y
Definition: accel14.h:313
spi_master_mode_t spi_mode
Definition: accel14.h:355
Click ctx object definition.
Definition: accel14.h:322
pin_name_t i2
Definition: accel14.h:349
Definition: accel14.h:303
float accel14_get_temperature(accel14_t *ctx)
Get temperature function.
void accel14_read_accel(accel14_t *ctx, accel14_accel_fs_xl_t *accel_fs)
Read Accel data function.
void accel14_multi_read(accel14_t *ctx, uint8_t reg, uint8_t *p_rx_data, uint8_t n_bytes)
Generic read sequence function.
void accel14_default_cfg(accel14_t *ctx)
Click Default Configuration function.
int16_t x
Definition: accel14.h:304
float accel_z
Definition: accel14.h:314
float accel_x
Definition: accel14.h:312
Definition: accel14.h:311
pin_name_t chip_select
Definition: accel14.h:331
uint32_t spi_speed
Definition: accel14.h:354
uint8_t accel14_check_int2(accel14_t *ctx)
Get interrupt 2 ststus function.
void accel14_generic_write(accel14_t *ctx, uint8_t reg, uint8_t tx_data)
Generic write function.
uint8_t accel14_check_int1(accel14_t *ctx)
Get interrupt 1 ststus function.
digital_in_t i1
Definition: accel14.h:325
int16_t y
Definition: accel14.h:305
void accel14_cfg_setup(accel14_cfg_t *cfg)
Config Object Initialization function.
void accel14_generic_transfer(accel14_t *ctx, uint8_t *wr_buf, uint16_t wr_len, uint8_t *rd_buf, uint16_t rd_len)
Generic transfer function.
pin_name_t mosi
Definition: accel14.h:343
ACCEL14_RETVAL accel14_init(accel14_t *ctx, accel14_cfg_t *cfg)
Initialization function.