DevLab_ICM20948
1.0.0
Driver para sensor ICM-20948
Toggle main menu visibility
Loading...
Searching...
No Matches
ICM20948_platform.h
Go to the documentation of this file.
1
#ifndef ICM20948_PLATFORM_H
2
#define ICM20948_PLATFORM_H
3
4
// #include <stdint.h>
5
// #include <stddef.h>
6
7
/**
8
* 7Semi comment style
9
* - Platform glue for bus IO, delays, and timing
10
* - Implement these for your system (I2C or SPI)
11
*/
12
13
typedef
struct
{
14
/**
15
* - Bus read: read `len` bytes from `reg` into `buf`
16
* - Return 0 on success, nonzero on error
17
*/
18
int (*
read
)(uint8_t reg, uint8_t *buf,
size_t
len,
void
*
user
);
19
/**
20
* - Bus write: write `len` bytes from `buf` to `reg`
21
* - Return 0 on success, nonzero on error
22
*/
23
int (*
write
)(uint8_t reg,
const
uint8_t *buf,
size_t
len,
void
*
user
);
24
/**
25
* - Optional: SPI transfers may need register R/W bit mangling
26
* - For I2C, leave as NULL
27
*/
28
uint8_t (*
spi_reg_rw_bits
)(uint8_t reg,
int
is_write);
29
/**
30
* - Millisecond delay
31
*/
32
void (*
delay_ms
)(uint32_t ms);
33
/**
34
* - User context pointer passed to read/write
35
*/
36
void
*
user
;
37
/**
38
* - If using SPI: set chip select active (1) or inactive (0)
39
* - For I2C: leave as NULL
40
*/
41
void (*
spi_cs
)(
int
level,
void
*
user
);
42
/**
43
* - Device address (I2C) or ignored for SPI if you wrap inside user
44
*/
45
uint8_t
i2c_addr
;
46
}
icm_plat_t
;
47
48
#endif
icm_plat_t
Definition
ICM20948_platform.h:13
icm_plat_t::delay_ms
void(* delay_ms)(uint32_t ms)
Definition
ICM20948_platform.h:32
icm_plat_t::spi_cs
void(* spi_cs)(int level, void *user)
Definition
ICM20948_platform.h:41
icm_plat_t::i2c_addr
uint8_t i2c_addr
Definition
ICM20948_platform.h:45
icm_plat_t::read
int(* read)(uint8_t reg, uint8_t *buf, size_t len, void *user)
Definition
ICM20948_platform.h:18
icm_plat_t::write
int(* write)(uint8_t reg, const uint8_t *buf, size_t len, void *user)
Definition
ICM20948_platform.h:23
icm_plat_t::spi_reg_rw_bits
uint8_t(* spi_reg_rw_bits)(uint8_t reg, int is_write)
Definition
ICM20948_platform.h:28
icm_plat_t::user
void * user
Definition
ICM20948_platform.h:36
src
ICM20948_platform.h
Generated on
for DevLab_ICM20948 by
1.17.0