IRPyro API demo
Shows the basic functionality of the IRPyro API
Application Note

Important points to consider when using the IRPyro library.

IRPyro device default configurations

A single sensor is configured by default as follows:

  AFE
    .S7_S0                     = 0,                  Sets the sampling rate to 1,000 samples per second.
    .LP                        = LOW_POWER_DISABLE   Low power sets the sampling rate to 166 samples per second.
    .HP                        = HP_ENABLE           High pass filter enabled
    .C_LP                      = LOW_PASS_180        Low pass filter set at 180Hz
    .CLK_OUT                   = CLK_ENABLE          Clock output enabled to synchronize other IRPyro sensors
    .SYNC                      = MASTER              IRPyro set as Master issues the synchronization to SLAVE 
    .TEMP                      = TEMP_DISABLE        
    .INT                       = INT_ENABLE          IRPyro indicates data ready enable
  CCP
    .status_bit                = CH_ENABLE           Channel ready to collect data
    .Feedback_transconductance = TCONDUCT_1_2T       Time constant selection
    .High_pass_filter_setting  = HIGH_PASS_1HZ       High pass filter set at 1Hz
    .Feedback_cap              = FEEDBACK_50_20      Feedback capacitance 
  WUP
    .UHT                       = MAX_WUP_THRESHOLD   Upper High Threshold = 255 events
    .ULT                       = MAX_WUP_THRESHOLD   Upper Low  Threshold = 255 events
    .LHT                       = MIN_WUP_THRESHOLD   Low   High Threshold =   0 events
    .LLT                       = MIN_WUP_THRESHOLD   Low   Low  Threshold =   0 events
    .WT_Threshold              = DEFAULT_NO_EVENTS   Wake up time Threshold = 10 events
    .DP0_DP2                   = REF_CH_0            Active pixel channel
    .CH0_CH2                   = SEL_CH_2            Reference channel
    .ST                        = SLEEP_MODE_ONE_CH   Sleep mode type

Multiple sensors are configured by default as follows:

One master, and the rest of the sensors as slaves of the master

For each sensor (master or slave)

  • Normal power
  • One active channel
  • Gain factor of 64x

Changing the sample rate of your device

The sample rate, represented by the S0-S7 byte of the AFE register, is 
affected by the power mode of the IRPyro sensor.

In normal power mode the sensor takes a sample every x number of milliseconds,
where x equals the value of the S0_S7 register.

In low power mode the sensor takes a sample every (S0_S7 * 6) milliseconds.

I2C data collection times

Data collection speed

Single sensor, single pixel enabled
At the maximum sample rate of 1,000 samples per second, with I2C configured at 1MHz
it takes 0.13 ms to complete a FIFO_ACTIVE + FIFO_CLEAR command, when the IRPyro
has one channel active.
If we take 1 ms as a time reference with this timings it is possible to collect
samples of 7 devices sequentially before the first device produces a new frame of data.

Single sensor with four pixels enabled
The IRPyro with 4 channels active completes the FIFO_ACTIVE + FIFO_CLEAR
operation in 0.22 ms with the possibility of collecting samples from 5 devices
sequentially before the first device produces a new frame of data.