IRPyro TO API demo
Specific demo for the IRPyro TO with IRPyro API
Application Note

Important points to consider when using the IRPyro library with IRPyro TO.

IRPyro device default configurations

A single sensor is configured by default as follows:

  IRPyro_Sensor
        .CS_Port  = 2,
        .CS_Pin   = 1,
        .INT_Port = 1,
        .INT_Pin  = 4,
        .address  = 0x75,
        .number_of_active_channels = 1,
        .read_mode = 1,

  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_DISABLE          Clock output enabled to synchronize other IRPyro sensors
    .SYNC                      = MASTER              IRPyro set as Master issues the synchronization to SLAVE 
    .TEMP                      = TEMP_DISABLE        
    .INT                       = INT_DISABLE          IRPyro indicates data ready enable
  CCP
    .status_bit                = CH_ENABLE           Channel ready to collect data
    .Feedback_transconductance = TCONDUCT_0_15T      Time constant selection
    .High_pass_filter_setting  = HIGH_PASS_1HZ       High pass filter set at 1Hz
    .Feedback_cap              = FEEDBACK_3200_1280  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:

All the IRPyro TO sensors should be configured as MASTER. This is due to the pin limitation on the TO39 package, the SYNC and CLK lines are not available.

For each sensor (master)

  • 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

The IRPyro TO
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.