ADXl372 Setting of water mark level not clear


I am using ADXL372 in stream mode to collect sample sets of concurrent 3-axis data using FIFO.

FIFO format :

  • FIFO FORMAT = XYZ (3-Axis) for 400 to 3200 Hz ODR's
    • Watermark Level(FIFO SAMPLES) =  501
  • FIFO FORMAT = Z (single axis)  for 6400 Hz ODR
    • Watermark Level (FIFO SAMPLES)=  500

I have the following  understanding

  1. FIFO sample  is of 16 bit and a sample set consists of XYZ data => 3 FIFO SAMPLES.
  2.  FIFO SAMPLES is used for configuring FIFO CONTROL register and not number of sample sets.

The interrupt will be triggered once 501 samples are available in the format of XYZ, that makes 167 Sample sets.

But, In the example linux driver,  

The watermark value is divided based on the fifo format. For Example, Watermark level will be set to 510/3= 170.

Is it that I misinterpreted in a different way?

Would like to know on what basis we should set the watermark level -

No. of samples -> 510


No. of triplets(sample sets) for XYZ format -> 170.

Looking forward for your response.

With regards,

Shanmathi P

Parents Reply Children
No Data