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

Functions to configure and sample data from a single device. More...

Collaboration diagram for IRPyro Single Device Layer:

Modules

 Constants to access IRPyro
 Definitions used by the IRPyro_sensor_device_type.
 
 FIFO memory functions
 FIFO memory functions.
 
 Individual sensor initialization and Configuration functions
 Default values defined in IRPyro_API_single_device_layer.c can be applied or user assigned.
 
 Power management functions
 Power management functions.
 
 Structures to access IRPyro
 Collection of structs that define an IRPyro_sensor_device_type.
 
 Support functions
 Data structures manipulation functions.
 
 IRPyro Constants
 Hexadecimal constants for the IRPyro API.
 
 IRPyro sensor device functions
 Public functions of IRPyro: Open, Read, IOCTL and Close.
 

Macros

#define AFE_INIT_DEFAULT(X)
 
#define CCP_INIT_DEFAULT(X)
 
#define LOW_POWER_INIT_DEFAULT(X)
 
#define NORMAL_POWER_INIT_DEFAULT(X)
 
#define WUP_INIT_DEFAULT(X)
 

Functions

static void AFE_to_bytes (AFE_reg_type AFE_register, uint8_t *AFE_byte)
 encodes the AFE register contents of this_device into the IRPyro More...
 
static void bytes_to_AFE (uint8_t *AFE_bytes, AFE_reg_type *AFE_register)
 decodes the AFE register of the IRPyro into this_device More...
 
static void bytes_to_CCP (uint8_t CCP_byte, CCP_reg_type *CCP_register)
 decodes the CCP register of the IRPyro into this_device More...
 
static void bytes_to_WUP (uint8_t *WUP_bytes, WUP_reg_type *WUP_register)
 decodes the WUP register of the IRPyro into this_device More...
 
static void CCP_to_bytes (CCP_reg_type CCP_register, uint8_t *CCP_byte)
 encodes the CCP register contents of this_device into IRPyro More...
 
static struct notice IRPyro_checksum (void)
 
static uint8_t IRPyro_power_settings_init (IRPyro_sensor_device_type *this_device)
 initializes with defaults the power settings of an IRPyro device More...
 
static void WUP_to_bytes (WUP_reg_type WUP_register, uint8_t *WUP_byte)
 encodes the WUP register contents of this_device into the IRPyro More...
 

Detailed Description

Functions to configure and sample data from a single device.

Macro Definition Documentation

#define AFE_INIT_DEFAULT (   X)
Value:
AFE_reg_type X = { \
.S7_S0 = 0, \
.HP = HP_DISABLE, \
.C_LP = LOW_PASS_180, \
.CLK_OUT = CLK_ENABLE, \
.SYNC = MASTER, \
.TEMP = TEMP_DISABLE,\
.INT = INT_ENABLE \
}
uint8_t S7_S0
Sampling rate (8 bit) :Sampling Rate = 1000/(N+1).
#define TEMP_DISABLE
#define LOW_PASS_180
#define LOW_POWER_DISABLE
#define HP_DISABLE
#define INT_ENABLE
IRPyro Analog Front End (AFE) register structure definition
#define CLK_ENABLE

Definition at line 191 of file IRPyro_API_single_device_layer.c.

#define CCP_INIT_DEFAULT (   X)
Value:
CCP_reg_type X = { \
.Feedback_transconductance = TCONDUCT_1_2T, \
.High_pass_filter_setting = HIGH_PASS_1HZ, \
.Feedback_cap = FEEDBACK_50_20 \
}
#define FEEDBACK_50_20
IRPyro Channel Control Package register structure definition
#define TCONDUCT_1_2T
uint8_t status_bit
Status bit : Active (1) / Disable (0)
#define HIGH_PASS_1HZ

Definition at line 209 of file IRPyro_API_single_device_layer.c.

#define LOW_POWER_INIT_DEFAULT (   X)
Value:
.S7_S0 = 0x00, \
.C_LP = LOW_PASS_30, \
.CCP_High_pass[0].High_pass_filter_setting = HIGH_PASS_0_17HZ, \
.CCP_High_pass[1].High_pass_filter_setting = HIGH_PASS_0_17HZ, \
.CCP_High_pass[2].High_pass_filter_setting = HIGH_PASS_0_17HZ, \
.CCP_High_pass[3].High_pass_filter_setting = HIGH_PASS_0_17HZ, \
.CCP_High_pass[4].High_pass_filter_setting = HIGH_PASS_0_17HZ, \
.UHT = 0xFF, \
.ULT = 0xFF, \
.LHT = 0x00, \
.LLT = 0x00, \
.WT_Threshold = 0x10, \
}
#define HIGH_PASS_0_17HZ
IRPyro Power Settings structure definition
uint8_t S7_S0
sample rate value
#define LOW_PASS_30

Definition at line 253 of file IRPyro_API_single_device_layer.c.

#define NORMAL_POWER_INIT_DEFAULT (   X)
Value:
.S7_S0 = 0x00, \
.C_LP = LOW_PASS_180, \
.CCP_High_pass[0].High_pass_filter_setting = HIGH_PASS_1HZ, \
.CCP_High_pass[1].High_pass_filter_setting = HIGH_PASS_1HZ, \
.CCP_High_pass[2].High_pass_filter_setting = HIGH_PASS_1HZ, \
.CCP_High_pass[3].High_pass_filter_setting = HIGH_PASS_1HZ, \
.CCP_High_pass[4].High_pass_filter_setting = HIGH_PASS_1HZ, \
.UHT = 0xFF, \
.ULT = 0xFF, \
.LHT = 0x00, \
.LLT = 0x00, \
.WT_Threshold = 0x10, \
}
IRPyro Power Settings structure definition
uint8_t S7_S0
sample rate value
#define LOW_PASS_180
#define HIGH_PASS_1HZ

Definition at line 238 of file IRPyro_API_single_device_layer.c.

#define WUP_INIT_DEFAULT (   X)
Value:
.UHT = 0xFF, \
.ULT = 0xFF, \
.LHT = 0x00, \
.LLT = 0x00, \
.WT_Threshold = 0x10, \
.DP0_DP2 = REF_CH_0, \
.CH0_CH2 = SEL_CH_2, \
}
uint8_t UHT
Byte 0 to 3 (Upper and Lower thresholds) are the 8 MSB of channel ADC data (unsigned value)...
IRPyro Wake Up Package register structure definition
#define SLEEP_MODE_ONE_CH

Definition at line 227 of file IRPyro_API_single_device_layer.c.

Function Documentation

static void AFE_to_bytes ( AFE_reg_type  AFE_register,
uint8_t *  AFE_byte 
)
static

encodes the AFE register contents of this_device into the IRPyro

Definition at line 569 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function:

static void bytes_to_AFE ( uint8_t *  AFE_bytes,
AFE_reg_type AFE_register 
)
static

decodes the AFE register of the IRPyro into this_device

Definition at line 586 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function:

static void bytes_to_CCP ( uint8_t  CCP_byte,
CCP_reg_type CCP_register 
)
static

decodes the CCP register of the IRPyro into this_device

Definition at line 701 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function:

static void bytes_to_WUP ( uint8_t *  WUP_bytes,
WUP_reg_type WUP_register 
)
static

decodes the WUP register of the IRPyro into this_device

Definition at line 784 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function:

static void CCP_to_bytes ( CCP_reg_type  CCP_register,
uint8_t *  CCP_byte 
)
static

encodes the CCP register contents of this_device into IRPyro

Definition at line 688 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function:

static struct notice IRPyro_checksum ( void  )
static

Definition at line 1208 of file IRPyro_API_single_device_layer.c.

static uint8_t IRPyro_power_settings_init ( IRPyro_sensor_device_type this_device)
static

initializes with defaults the power settings of an IRPyro device

Definition at line 1010 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function:

static void WUP_to_bytes ( WUP_reg_type  WUP_register,
uint8_t *  WUP_byte 
)
static

encodes the WUP register contents of this_device into the IRPyro

Definition at line 766 of file IRPyro_API_single_device_layer.c.

Here is the caller graph for this function: