Skip to main content
Visitor II
March 21, 2020
Question

How can I determine the value of the register ACT_DUR for a given ODR and a given desired return-to-sleep duration for LIS3DH?

  • March 21, 2020
  • 2 replies
  • 757 views

In the data sheet, it is written: Sleep-to-wake, return-to-sleep duration

1 LSb = (8*1[LSb]+1)/ODR. How should I interpret that. It seems equation but is it? If one solves with respect to 1LSB, he/she would get: 1LSB = 1/(ODR-8) but it makes no sense for ODR=1Hz. I saw in some examples that a value of 0x20 at ODR=100Hz gives 5s. I was looking but I have not found a clear explanation how to determine the value of the register neither in the data sheet not in the AN3308, where this register is also named INACT_DUR.

    This topic has been closed for replies.

    2 replies

    ST Employee
    March 23, 2020

    Hi @IBuli.1​ , not clear that datasheet statement for low ODR, but from the application note the duration time for the interrupts in general is the following. You can try with these values. Regards

    0693W000000UW5hQAG.png

    IBuli.1Author
    Visitor II
    March 23, 2020

    Thanks, Eleon,

    I have used this table to define the content of the INTx_DURATION registers. For them, it is written 1LSb=1/ODR, so the value-to-time conversion is N/ODR indeed.

    However, why is the description for ACT_DUR different? Besides the description, there is one more difference - I see that the INTx_DURATION values are 7-bit values, while the ACT-DUR is an 8-bit value. If this does not simply expand the range of possible values, it is perhaps related to the different register content description? Regards!