2023-10-02 05:28 PM
I am successfully running with four FSMs and the SFLP as well as many of the embedded functions like tilt detect and activity/inactivity detect. For the latter, I have tested using SLPMODE3 where the accel is placed in LP1 mode at 1.875 Hz and the gyro is powered down. What happens to the FSM and SFLP when the gyro is powered down (at least one of the FSM require gyro data) or the accel ODR is well below the specified SFLP ODR (15 Hz) or FSM ODRs (30 Hz)?
I find that the program works as expected. That is, I see interrupts for the FSM programs and I see quaternion data from the SFLP when active. When inactive I do not, as expected. And then again, when activity resume, I see the expected behavior (SFLP quaternions and FSM interrupts). So do I not have to explicitly de-activate the FSM programs or SFLP? Is this handled automagically somehow?
I ask partly because I see 14.75 uA power usage when inactive, all of which is accounted for such that I have to surmise and infer that the SFLP and FSMs are simply not running in the inactive state even though I didn't do anything other than change the power mode/ODR of the gyro and accel via the inactivity registers.
Is there an explanation of what to expect under these conditions in an application note somewhere?
Thanks for the help!
Solved! Go to Solution.
2023-10-06 06:57 AM
In the Application Note, it is clearly explained that the FSM runs at FSM_ODR, but only if XL_ODR or G_ODR is >= FSM_ODR... so if you turn off the gyroscope but the accelerometer meets the FSM_ODR condition there is no problem.
Regarding the SFLP, if the gyro is turned off it will continue to run taking the last input from the gyro before it was turned off.
I suggest you take a look at this example, which may clarify many doubts.
If this helps you, please mark my answer as "Best Answer" by clicking on the "Accept as Solution" button, this can be helpful for Community users to find this solution faster :)
2023-10-06 06:57 AM
In the Application Note, it is clearly explained that the FSM runs at FSM_ODR, but only if XL_ODR or G_ODR is >= FSM_ODR... so if you turn off the gyroscope but the accelerometer meets the FSM_ODR condition there is no problem.
Regarding the SFLP, if the gyro is turned off it will continue to run taking the last input from the gyro before it was turned off.
I suggest you take a look at this example, which may clarify many doubts.
If this helps you, please mark my answer as "Best Answer" by clicking on the "Accept as Solution" button, this can be helpful for Community users to find this solution faster :)