cancel
Showing results for 
Search instead for 
Did you mean: 

LIS2DE12TR: Trying to set up 4D/6D mode to trigger an interrupt

APast
Associate

The datasheet for LIS2DE12TR is utterly confusing. It is missing any kind of flowchart for how the device operates in 4D/6D mode, or how to even set up registers correctly to enable these modes without conflict. Moreover, the registers are described with undefined terms in many places, leaving the user to wonder what the meaning behind it was. For example: (a) In CTRL_REG3, what exactly is "IA1", "IA2", "ZXYDA" actually referring to? (b) In INT1_SRC, how do you actually define the high-Z value/event, how do you actually define the X-low value/event? (c) INT2_CFG allows you to enable 6D mode. Later down the datasheet, it is described AOI-6D is orientation recognition from unknown zone to a known zone. But how to define what the "known zone" is is also completely missing. So, how is the "known zone" defined, and where is it defined? (d) How do you use and define the "OR combination of interrupt events" and the "AND combination of interrupt events"? How does this affect the 6D position recognition mode, if at all?

There are many more questions, but I want to keep this short.

What I am trying to achieve is: to pull INT1 high ( generate the interrupt ) when all these conditions are met: (1) z is between +0.5g to +2.0g (2) x is between -0.5g to -2.0g (3) y is between +0.25g and -0.25g

What registers must I write to, and what values must I write, to achieve what I describe? Thank you for your help! 😅

1 REPLY 1
Miroslav BATEK
ST Employee

It is not possible to configure the interrupt according to your requirement.

There is only one threshold value, and you have two options for the condition:

  • Low ... if absolute value of the acceleration is lower then threshold
  • High ... if absolute value of the acceleration is higher then threshold