Skip to content

Commit 5f1500b

Browse files
authored
Merge pull request #22 from cparata/main
Fix issue in lsm6dsox_interrupt_mode_get
2 parents 56b211b + 6f0d823 commit 5f1500b

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=STM32duino LSM6DSOX
2-
version=2.3.2
2+
version=2.3.3
33
author=SRA
44
maintainer=stm32duino
55
sentence=Ultra Low Power inertial measurement unit.

src/lsm6dsox_reg.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9638,20 +9638,18 @@ int32_t lsm6dsox_interrupt_mode_get(lsm6dsox_ctx_t *ctx,
96389638

96399639
ret = lsm6dsox_read_reg(ctx, LSM6DSOX_CTRL3_C, (uint8_t*)&ctrl3_c, 1);
96409640
if (ret == 0) {
9641-
ctrl3_c.h_lactive = val->active_low;
9641+
val->active_low = ctrl3_c.h_lactive;
96429642
ret = lsm6dsox_read_reg(ctx, LSM6DSOX_TAP_CFG0, (uint8_t*) &tap_cfg0, 1);
96439643
}
96449644
if (ret == 0) {
9645-
tap_cfg0.lir = val->base_latched;
9646-
tap_cfg0.int_clr_on_read = val->base_latched | val->emb_latched;
9645+
val->base_latched = (tap_cfg0.lir && tap_cfg0.int_clr_on_read);
96479646
ret = lsm6dsox_mem_bank_set(ctx, LSM6DSOX_EMBEDDED_FUNC_BANK);
96489647
}
96499648
if (ret == 0) {
96509649
ret = lsm6dsox_read_reg(ctx, LSM6DSOX_PAGE_RW, (uint8_t*) &page_rw, 1);
96519650
}
96529651
if (ret == 0) {
9653-
page_rw.emb_func_lir = val->emb_latched;
9654-
ret = lsm6dsox_write_reg(ctx, LSM6DSOX_PAGE_RW, (uint8_t*) &page_rw, 1);
9652+
val->emb_latched = (page_rw.emb_func_lir && tap_cfg0.int_clr_on_read);
96559653
}
96569654
if (ret == 0) {
96579655
ret = lsm6dsox_mem_bank_set(ctx, LSM6DSOX_USER_BANK);

0 commit comments

Comments
 (0)