Skip to main content
Nathalie MAGNIEZ
ST Employee
September 7, 2013
Question

What are the differences between the L3GD20 FIFO and the LIS3DH accelerometer FIFO?

Posted on September 07, 2013 at 18:15

What are the differences between the L3GD20 FIFO and the LIS3DH accelerometer FIFO?

#lis3dh #l3gd20
This topic has been closed for replies.

2 replies

Thiago REIS
Associate II
September 9, 2013
Posted on September 09, 2013 at 18:48

Hello Naue,

Firstly the L3GD20 FIFO has 16-bit data stored rather than 10-bit data in accelerometers. Secondly, the L3GD20 FIFO has one more trigger mode which is bypass-to-stream mode. Thirdly, the L3GD20 FIFO can give FIFO empty interrupt.

For more information, please visit

http://www.st.com/mems

Thank you,

Thiago Reis

From: naue

Posted: Saturday, September 07, 2013 6:15 PM

Subject: What are the differences between the L3GD20 FIFO and the LIS3DH accelerometer FIFO?

mehdi
Visitor II
September 24, 2014
Posted on September 24, 2014 at 09:52

Hello, 

Iwant to use the L3G4200D in FIFO mode and get the interrupt 2 with a configurable watermark. This is my config:

  //set ODR (turn ON device)

  if(L3G4200D_SetODR(L3G4200D_ODR_100Hz_BW_12_5) == FALSE) 

return FALSE;

//set PowerMode 

  if(L3G4200D_SetMode(L3G4200D_NORMAL) == FALSE)

return FALSE;

//set fullscale

  if(L3G4200D_SetFullScale(FULLSCALE_250)== FALSE) 

return FALSE;

  //set axis Enable

  if(L3G4200D_SetAxis(X_ENABLE | Y_ENABLE | Z_ENABLE)== FALSE)

return FALSE;

  //set watermark 

  if(L3G4200D_SetWaterMark(20)== FALSE)

return FALSE;

  //FIFO configuration

if(L3G4200D_FIFOModeEnable(FIFO_MODE)== FALSE)

return FALSE;

  //enable watermark interrupt on interrupt2

  //when the fifo contains more than 32 elements, the interrupt raises  

  if(L3G4200D_SetInt2Pin(WTM_ON_INT2_ENABLE)== FALSE)

return FALSE;

//interrupt pin mode configuration: PUSH_PULL or OPEN_DRAIN

  if(L3G4200D_SetIntPinMode(PUSH_PULL)== FALSE) 

return FALSE;

//

  //configure interrupt 1

  if(L3G4200D_SetInt1Pin(I1_ON_PIN_INT1_DISABLE)== FALSE)

return FALSE;

  //X and Y high threshold interrutps

  if(L3G4200D_SetIntConfiguration(INT1_OR | INT1_ZHIE_DISABLE | INT1_XHIE_DISABLE)== FALSE)

return FALSE;

  //interrupt latch disable

  if(L3G4200D_Int1LatchEnable(L3G4200D_MEMS_DISABLE)== FALSE)

return FALSE; 

I never receive the interrupt 2 (FIFO Interrupt), is there any configuration missing ?