LSM6DSO FSM register issues
Hello,
I am trying to set up an FSM on the LSM6DSO, but I have been struggling for several weeks. Upon further investigating the register values, I believe that I might have accidentally written to a memory location that changed something about the FSMs permanently. Before even writing to any registers, the value of FSM_STATUS_A IS 0x24 and the value of FSM_STATUS_B is 0x04. Those registers stay that way, regardless of interrupt status.
Only this feature seems to have been affected, as I can still read/write to the accel and gyro, and embedded functions such as significant motion and tilt also work.
I know people will be curious about what I am currently writing to registers, so here it is. Right now I am trying to configure the sample FSM that generates an interrupt every N samples (FSM Guide pg 53/ 10.1 Toggle)
- 0x00 to CTRL1_XL
- 0x00 to CTRL2_G
- 0x80 to FUNC_CFG_ACCESS
- 0x00 to EMB_FUNC_EN_A
- 0x01 to EMB_FUNC_EN_B
- 0x53 to EMB_FUNC_ODR_CFG_B
- 0x01 to FSM_ENABLE_A
- 0x00 to FSM_ENABLE_B
- 0x60 to PAGE_RW
- 0x11 to PAGE_SEL
- 0x7A to PAGE_SEL
- 0x00 to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0x01 to PAGE_VALUE
- 0x02 to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0x04 to PAGE_VALUE
- 0x41 to PAGE_SEL
- 0x00 to PAGE_ADDRESS
- 0x01 to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0x0A to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0x00 to PAGE_VALUE
- 0xFF to PAGE_VALUE
- 0x03 to PAGE_VALUE
- 0x22 to PAGE_VALUE
- 0x01 to PAGE_SEL
- 0x80 to PAGE_RW
- 0x00 to FUNC_CFG_ACCESS
- 0x32 to CTRL1_XL
- 0x3C to CTRL2_G
I would appreciate any help!
