IRPyro API  (sKEMLIB1)
Collection of routines and data structures covering the functionality of the IRPyro sensor
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.


@page change Change Log

Release 1.0.6

Date
March 2018

Changes

New Features

  • Separate projects for the IRPyro TO devices
  • Update to messaging application for IRPB_027 rev B boards

Bug Fixes

  • Examples serial terminal communications format

Release 1.0.5

Date
21-December-2017

Changes

New Features

Bug Fixes

  • Sample counter fix to messaging app
  • Board identification number fix to messaging app
  • Saturation signal fix to messaging app

Release 1.0.4

Date
25-August-2017

Changes

  • File structure changed to improve modularity

New Features

  • IRPyro messaging application to communicate with the IRPyro evaluation tool

Bug Fixes


Release 1.0.3

Date
25-August-2017

Changes

  • Changed UART function names for clarity

New Features

  • IRPyro sampled stream values

Bug Fixes

  • USART function for sending binary package displayed incorrect saturation byte value

Release 1.0.2

Date
21-July-2017

Changes

New Features

  • Interrupt call back template implemented

Bug Fixes


Release 1.0.1

Date
07-July-2017

Changes

New Features

Bug Fixes

  • Lost frame counter

Release 1.0.0

Date
16-June-2017

Changes

  • Improved documentation.

New Features

  • How many devices can be read on the I2C bus added to Read_Me.txt

Bug Fixes

  • Works with I2C devices with no CS and INT lines
  • Stm32 timer configuration