Hi all!
I am working on a single tap detection and am noticing that the latency time seems to be not kept by the sensor algorithm.
The sensor is set to detect single pulse using:
// PULSE_CFG => Enable X, Y and Z Single Pulse, latch enable
ACC_Write_Register( FXOS8700CQ_REG_PULSE_CFG, 0x55 );
// PULSE_TMLT
// Maximum time of a pulse. If the pulse width is greater than
// the time specified by this variable, pulse will be ignored.
// 1LSB =
// @12.5Hz low power/low noise => 20 ms *
// @12.5Hz low power => 40 ms
// @12.5Hz normal mode => 5 ms
// @12.5Hz high resolution => 0.625 ms
ACC_Write_Register( FXOS8700CQ_REG_PULSE_TMLT, 0x0F );
// PULSE_LTCY Latency Time
// During this time interval, all pulses after last pulse are ignored
// 1LSB = see above
ACC_Write_Register( FXOS8700CQ_REG_PULSE_LTCY, 0x30 );
// HPF filter setting
ACC_Write_Register( FXOS8700CQ_REG_HP_FILTER_CUTOFF, 0x03 );
// CTRL_REG2 - set low power/low noise OSR=4 => 0x09 (low power => 0x1B)
ACC_Write_Register( FXOS8700CQ_REG_CTRL_REG2, 0x09 );
// CTRL_REG1
// Setup device for acc only mode
// ODR = 12.5Hz, normal noise, go to ACTIVE mode
ACC_Write_Register( FXOS8700CQ_REG_CTRL_REG1, 0x29 ); // 12.5Hz
The detection works quite well for our application.
However I am seeing tap interrupts occurring much earlier than 960ms after each other.
This indicates to me that the latency time is shorter than expected.
Does the HPF setting influence the latency timing (or even other timing, like max pulse width)?
What else can lead to detected pulses within the latency time?
Can 2 pulses be detected if they fit within the max pulse width?
Thanks a lot for input!
JR