Skip to main content
Visitor II
July 15, 2018
Question

LPS22HB PLE interrupt not working

  • July 15, 2018
  • 2 replies
  • 860 views
Posted on July 15, 2018 at 05:18

Hi 

I am working with the LPS22HB eval board from ST and trying to generate an interrupt when the pressure drops suddenly.  So according to the data sheet this would be a PLE event (2nd bit of 0x0B register) 

Below are my register settings -

 reg 0x10 - 0x50

reg 0x12 - 0x03

reg 0x0B - 0x0A

I set the threshold registers 0x0C and 0x0D to the current value of pressure reading. I would expect that the int pin to change state from low to high after creating an external low pressure event but there is no change. Even the interrupt flag IA or PL from reg 0x25 is not set. 

Now to make sure I did not have a bad device, I set the LPS22HB for generating an interrupt for a high pressure event. So I set bit PHE (1st bit in 0x0B reg) and the interrupt IS generated when I create a high pressure event. So everything works fine for a high pressure event interrupt. PH and IA Flag in reg  0x25 is set. 

 reg 0x10 - 0x50

reg 0x12 - 0x03

reg 0x0B - 0x09

The pressure readings when I poll registers 0x28, 0x29, 0x30 are also correct. It is just the low pressure interrupt event the is not working. 

Unfortunately my product needs this low pressure interrupt event the most and LPS22HB would be a no-go if this cannot be fixed. 

This seems like a bug to me. Is there anyone from ST that could look into this? 

Or is there anyone in this forum who got this working? 

    This topic has been closed for replies.

    2 replies

    Graduate II
    August 10, 2018

    @ST Community​ who is covering MEMS?

    ST Employee
    August 14, 2018

    It seems the interrupts settings is little bit tricky.

    Please check chapter 9.1 in the LPS22HB datasheet.

    The interrupt works only in differential mode so you will have to use the AUTOZERO function and adjust the threshold according to the actual pressure.

    I think there is also option to change the reference after you enter the AUTOZERO function so you don't need to count with actual pressure, you just set the reference and threshold.