memset() and comments
This commit is contained in:
parent
30508a8378
commit
365bb369bb
33
lis3dh.c
33
lis3dh.c
@ -47,16 +47,13 @@ int lis3dh_init(lis3dh_t *lis3dh) {
|
||||
}
|
||||
}
|
||||
|
||||
/* check WHO_AM_I to equal to 0x33 */
|
||||
err |= lis3dh->dev.read(REG_WHO_AM_I, &result, 1);
|
||||
if (result != 0x33) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* zero struct */
|
||||
lis3dh->acc.x = 0.0;
|
||||
lis3dh->acc.y = 0.0;
|
||||
lis3dh->acc.z = 0.0;
|
||||
|
||||
/* zero device struct */
|
||||
lis3dh->cfg.rate = 0;
|
||||
lis3dh->cfg.range = 0;
|
||||
lis3dh->cfg.mode = 0;
|
||||
@ -65,29 +62,13 @@ int lis3dh_init(lis3dh_t *lis3dh) {
|
||||
lis3dh->cfg.fifo.trig = 0;
|
||||
lis3dh->cfg.fifo.fth = 31; /* default watermark level. */
|
||||
|
||||
memset(&lis3dh->acc, 0, sizeof lis3dh->acc);
|
||||
memset(&lis3dh->cfg.int1, 0, sizeof lis3dh->cfg.int1);
|
||||
memset(&lis3dh->cfg.int2, 0, sizeof lis3dh->cfg.int2);
|
||||
memset(&lis3dh->cfg.filter, 0, sizeof lis3dh->cfg.filter);
|
||||
|
||||
lis3dh->cfg.filter.mode = 0xFF; /* in use if neq 0xFF */
|
||||
lis3dh->cfg.filter.cutoff = 0;
|
||||
lis3dh->cfg.filter.fds = 1; /* bypass OFF by default */
|
||||
lis3dh->cfg.filter.click = 0;
|
||||
lis3dh->cfg.filter.ia1 = 0;
|
||||
lis3dh->cfg.filter.ia2 = 0;
|
||||
|
||||
lis3dh->cfg.int1.click = 0;
|
||||
lis3dh->cfg.int1.ia1 = 0;
|
||||
lis3dh->cfg.int1.ia2 = 0;
|
||||
lis3dh->cfg.int1.drdy_zyxda = 0;
|
||||
lis3dh->cfg.int1.drdy_321 = 0;
|
||||
lis3dh->cfg.int1.wtm = 0;
|
||||
lis3dh->cfg.int1.overrun = 0;
|
||||
lis3dh->cfg.int1.latch = 0;
|
||||
|
||||
lis3dh->cfg.int2.click = 0;
|
||||
lis3dh->cfg.int2.ia1 = 0;
|
||||
lis3dh->cfg.int2.ia2 = 0;
|
||||
lis3dh->cfg.int2.boot = 0;
|
||||
lis3dh->cfg.int2.act = 0;
|
||||
lis3dh->cfg.int2.polarity = 0;
|
||||
lis3dh->cfg.int2.latch = 0;
|
||||
|
||||
err |= lis3dh_reset(lis3dh);
|
||||
|
||||
|
8
lis3dh.h
8
lis3dh.h
@ -55,6 +55,7 @@
|
||||
#define LIS3DH_FILTER_CUTOFF_1 0x03 /* lowest freq */
|
||||
|
||||
|
||||
/* user provided functions, init and deinit can be set to NULL and won't be used */
|
||||
struct lis3dh_device {
|
||||
int (*init)(void);
|
||||
int (*read)(uint8_t reg, uint8_t *dst, uint32_t size);
|
||||
@ -63,6 +64,7 @@ struct lis3dh_device {
|
||||
int (*deinit)(void);
|
||||
};
|
||||
|
||||
/* config for INT2 trigger output */
|
||||
struct lis3dh_int2_config {
|
||||
uint8_t click; /* CLICK interrupt */
|
||||
uint8_t ia1; /* IA1 interrupt */
|
||||
@ -73,6 +75,7 @@ struct lis3dh_int2_config {
|
||||
uint8_t latch; /* latch interrupt until cleared */
|
||||
};
|
||||
|
||||
/* config for INT1 trigger output */
|
||||
struct lis3dh_int1_config {
|
||||
uint8_t click; /* CLICK interrupt */
|
||||
uint8_t ia1; /* IA1 interrupt */
|
||||
@ -84,6 +87,7 @@ struct lis3dh_int1_config {
|
||||
uint8_t latch; /* latch interrupt until cleared */
|
||||
};
|
||||
|
||||
/* config for high-pass filter */
|
||||
struct lis3dh_filter_config {
|
||||
uint8_t mode; /* filter mode, reset behaviour */
|
||||
uint8_t cutoff; /* high-pass filter cutoff freq (~ ODR) */
|
||||
@ -93,6 +97,7 @@ struct lis3dh_filter_config {
|
||||
uint8_t ia1; /* enable filter for AOI func on INT 1 */
|
||||
};
|
||||
|
||||
/* config for FIFO */
|
||||
struct lis3dh_fifo_config {
|
||||
uint8_t fth; /* user-specified watermark level 0-32 */
|
||||
uint8_t trig; /* pin to trigger when watermark/overrun occurs */
|
||||
@ -109,6 +114,7 @@ struct lis3dh_config {
|
||||
struct lis3dh_int2_config int2;
|
||||
};
|
||||
|
||||
/* data read not from FIFO is put here */
|
||||
struct lis3dh_acceleration {
|
||||
float x;
|
||||
float y;
|
||||
@ -142,6 +148,4 @@ int lis3dh_clear_int1(lis3dh_t *lis3dh);
|
||||
int lis3dh_clear_int2(lis3dh_t *lis3dh);
|
||||
int lis3dh_reference(lis3dh_t *lis3dh);
|
||||
|
||||
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user