IRPyro API  (sKEMLIB1)
Collection of routines and data structures covering the functionality of the IRPyro sensor

IRPyro device structure definition. More...

#include <IRPyro_API_single_device_layer.h>

Collaboration diagram for IRPyro_sensor_device:

Data Fields

uint8_t address
 I2C address in 7 bit format. More...
 
AFE_reg_type AFE_register
 AFE (analog front end) configuration register. More...
 
CCP_reg_type CCP_register [IRPyro_CCP_NUMBER_OF_REGISTERS]
 Channel configuration registers 0 - 4. More...
 
uint8_t channel_saturation_byte
 Active frame saturation byte. More...
 
uint32_t channel_value [IRPyro_CHANNEL_DATA_VALUES]
 Active frame decoded channel data. More...
 
uint8_t CS_Pin
 CS pin. More...
 
uint8_t CS_Port
 CS (Chip select) port. More...
 
FIFO_reg_type FIFO_register
 FIFO status register. More...
 
uint8_t INT_Pin
 INT pin. More...
 
uint8_t INT_Port
 INT (Interrupt / Data Ready ) port. More...
 
power_settings_type low_power
 low power configuration More...
 
power_settings_type normal_power
 normal power configuration More...
 
uint8_t number_of_active_channels
 useful for read() More...
 
uint8_t raw_data [IRPyro_DATA_SIZE]
 
uint8_t read_mode
 interrupt (0), polled (1) or synchronized sampling (2) More...
 
WUP_reg_type WUP_register
 WUP (Wake Up) configuration register. More...
 

Detailed Description

IRPyro device structure definition.

Sensor data sampling into the FIFO (SECTION 12.6.1 ) There are two methods of sampling the data available in the FIFO: Polling mode or Interrupt mode.

  • In interrupt mode the host can wait till the interrupt line goes low in order to read data from the FIFO. The interrupt remains low till the FIFO is cleared from data.
  • In polling mode the host has to read the FIFO status packet to determine if data is available in order to read it. The number of data packets available can also be determined from the status packet allowing multiple reads without having to keep reading the status packet. Interrupt mode is a single step operation, polling mode is a two step operation.

    IMPORTANT: FIFO data collected is stored in the first available position of the channel_value array.

    One channel active: channel 2 -> channel_value[0] Four channels active: channel 1 -> channel_value[0] channel 2 -> channel_value[1] channel 3 -> channel_value[2] channel 4 -> channel_value[3] For both cases: frame counter -> channel_value[5]

Definition at line 330 of file IRPyro_API_single_device_layer.h.

Field Documentation

◆ address

uint8_t IRPyro_sensor_device::address

I2C address in 7 bit format.

Definition at line 336 of file IRPyro_API_single_device_layer.h.

◆ AFE_register

AFE_reg_type IRPyro_sensor_device::AFE_register

AFE (analog front end) configuration register.

Definition at line 341 of file IRPyro_API_single_device_layer.h.

◆ CCP_register

CCP_reg_type IRPyro_sensor_device::CCP_register[IRPyro_CCP_NUMBER_OF_REGISTERS]

Channel configuration registers 0 - 4.

Definition at line 342 of file IRPyro_API_single_device_layer.h.

◆ channel_saturation_byte

uint8_t IRPyro_sensor_device::channel_saturation_byte

Active frame saturation byte.

Definition at line 351 of file IRPyro_API_single_device_layer.h.

◆ channel_value

uint32_t IRPyro_sensor_device::channel_value[IRPyro_CHANNEL_DATA_VALUES]

Active frame decoded channel data.

Definition at line 350 of file IRPyro_API_single_device_layer.h.

◆ CS_Pin

uint8_t IRPyro_sensor_device::CS_Pin

CS pin.

Definition at line 334 of file IRPyro_API_single_device_layer.h.

◆ CS_Port

uint8_t IRPyro_sensor_device::CS_Port

CS (Chip select) port.

Definition at line 332 of file IRPyro_API_single_device_layer.h.

◆ FIFO_register

FIFO_reg_type IRPyro_sensor_device::FIFO_register

FIFO status register.

Definition at line 345 of file IRPyro_API_single_device_layer.h.

◆ INT_Pin

uint8_t IRPyro_sensor_device::INT_Pin

INT pin.

Definition at line 335 of file IRPyro_API_single_device_layer.h.

◆ INT_Port

uint8_t IRPyro_sensor_device::INT_Port

INT (Interrupt / Data Ready ) port.

Definition at line 333 of file IRPyro_API_single_device_layer.h.

◆ low_power

power_settings_type IRPyro_sensor_device::low_power

low power configuration

Definition at line 348 of file IRPyro_API_single_device_layer.h.

◆ normal_power

power_settings_type IRPyro_sensor_device::normal_power

normal power configuration

Definition at line 347 of file IRPyro_API_single_device_layer.h.

◆ number_of_active_channels

uint8_t IRPyro_sensor_device::number_of_active_channels

useful for read()

Definition at line 338 of file IRPyro_API_single_device_layer.h.

◆ raw_data

uint8_t IRPyro_sensor_device::raw_data[IRPyro_DATA_SIZE]

Definition at line 352 of file IRPyro_API_single_device_layer.h.

◆ read_mode

uint8_t IRPyro_sensor_device::read_mode

interrupt (0), polled (1) or synchronized sampling (2)

Definition at line 339 of file IRPyro_API_single_device_layer.h.

◆ WUP_register

WUP_reg_type IRPyro_sensor_device::WUP_register

WUP (Wake Up) configuration register.

Definition at line 343 of file IRPyro_API_single_device_layer.h.


The documentation for this struct was generated from the following file: