38 #include "drv_digital_out.h" 39 #include "drv_digital_in.h" 40 #include "drv_i2c_master.h" 41 #include "drv_spi_master.h" 53 #define ACCEL3_MAP_MIKROBUS( cfg, mikrobus ) \ 54 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \ 55 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \ 56 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \ 57 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \ 58 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \ 59 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \ 60 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT ); 67 #define ACCEL3_MASTER_I2C 0 68 #define ACCEL3_MASTER_SPI 1 75 #define ACCEL3_RETVAL uint8_t 77 #define ACCEL3_OK 0x00 78 #define ACCEL3_INIT_ERROR 0xFF 85 #define ACCEL3_I2C_ADDRESS 0x18 92 #define ACCEL3_REG_WHO_AM_I 0x0F 93 #define ACCEL3_REG_HP_FILTER_RESET 0x25 94 #define ACCEL3_REG_REFERENCE 0x26 95 #define ACCEL3_REG_STATUS 0x27 102 #define ACCEL3_CTRL_REG1 0x20 103 #define ACCEL3_CTRL_REG2 0x21 104 #define ACCEL3_CTRL_REG3 0x22 105 #define ACCEL3_CTRL_REG4 0x23 106 #define ACCEL3_CTRL_REG5 0x24 113 #define ACCEL3_OUT_X_L 0x28 114 #define ACCEL3_OUT_X_H 0x29 115 #define ACCEL3_OUT_Y_L 0x2A 116 #define ACCEL3_OUT_Y_H 0x2B 117 #define ACCEL3_OUT_Z_L 0x2C 118 #define ACCEL3_OUT_Z_H 0x2D 125 #define ACCEL3_ENABLE_AXIS 0x27 126 #define ACCEL3_FULL_SCALE 0x00 127 #define ACCEL3_DATA_MASK 0x80 128 #define ACCEL3_DEVICE_IDENTIFIER 0x32 129 #define ACCEL3_TRUE 0x00 130 #define ACCEL3_FALSE 0x01 131 #define ACCEL3_START_VALUE 0x00 struct accel3_s accel3_t
Click ctx object definition.
uint8_t slave_address
Definition: accel3.h:169
pin_name_t mosi
Definition: accel3.h:187
accel3_data_t accel3_data
Definition: main.c:32
void accel3_generic_read(accel3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
uint32_t spi_speed
Definition: accel3.h:199
void accel3_cfg_setup(accel3_cfg_t *cfg)
Config Object Initialization function.
Accel data object definition.
Definition: accel3.h:217
accel3_select_t master_sel
Definition: accel3.h:173
pin_name_t chip_select
Definition: accel3.h:170
Click configuration structure definition.
Definition: accel3.h:180
pin_name_t cs
Definition: accel3.h:189
ACCEL3_RETVAL accel3_init(accel3_t *ctx, accel3_cfg_t *cfg)
Initialization function.
digital_out_t cs
Definition: accel3.h:160
void(* accel3_master_io_t)(struct accel3_s *, uint8_t, uint8_t *, uint8_t)
Master Input/Output type.
Definition: accel3.h:150
uint8_t i2c_address
Definition: accel3.h:198
void accel3_generic_write(accel3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
uint32_t i2c_speed
Definition: accel3.h:197
Click ctx object definition.
Definition: accel3.h:155
accel3_select_t sel
Definition: accel3.h:203
spi_master_chip_select_polarity_t cs_polarity
Definition: accel3.h:201
#define ACCEL3_RETVAL
Definition: accel3.h:75
int16_t x
Definition: accel3.h:219
spi_master_t spi
Definition: accel3.h:165
int16_t z
Definition: accel3.h:221
pin_name_t int_pin
Definition: accel3.h:193
pin_name_t sck
Definition: accel3.h:188
accel3_master_io_t read_f
Definition: accel3.h:172
int16_t y
Definition: accel3.h:220
pin_name_t miso
Definition: accel3.h:186
void accel3_default_cfg(accel3_t *ctx, accel3_cfg_t *cfg)
Click Default Configuration function.
pin_name_t sda
Definition: accel3.h:185
uint8_t accel3_check_id(accel3_t *ctx)
Check Accel 3 ID function.
uint8_t accel3_select_t
Communication type.
Definition: accel3.h:145
accel3_master_io_t write_f
Definition: accel3.h:171
pin_name_t scl
Definition: accel3.h:184
i2c_master_t i2c
Definition: accel3.h:164
void accel3_read_data(accel3_t *ctx, accel3_data_t *accel3_data)
Get accelerometer data function.
uint8_t spi_mode
Definition: accel3.h:200
digital_out_t int_pin
Definition: accel3.h:159