oximeter2 2.0.0.0
oximeter2.h File Reference

This file contains API header for Oximeter2 Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  oximeter2_t
 Oximeter 2 Click context object. More...
 
struct  oximeter2_cfg_t
 Oximeter 2 Click configuration object. More...
 
struct  enable_t
 Oximeter 2 hardware selector. More...
 

Macros

#define OXIMETER2_SLAVE_ADDRESS   0x64
 Oximeter 2 default I2C slave address.
 
#define OXIMETER2_MAP_MIKROBUS(cfg, mikrobus)
 
#define OXIMETER2_RETVAL   uint8_t
 
#define OXIMETER2_OK   0x00
 
#define OXIMETER2_INIT_ERROR   0xFF
 
#define OXIMETER2_STATUS_REG   0x00
 
#define OXIMETER2_INT_MASK_REG   0x01
 
#define OXIMETER2_INT_IO_CTL_REG   0x02
 
#define OXIMETER2_FIFO_THRESH_REG   0x06
 
#define OXIMETER2_DEVID_REG   0x08
 
#define OXIMETER2_CLK_RATIO_REG   0x0A
 
#define OXIMETER2_MODE_REG   0x10
 
#define OXIMETER2_SLOT_EN_REG   0x11
 
#define OXIMETER2_FSAMPLE_REG   0x12
 
#define OXIMETER2_PD_LED_SELECT_REG   0x14
 
#define OXIMETER2_NUM_AVG_REG   0x15
 
#define OXIMETER2_SLOTA_CH1_OFFSET_REG   0x18
 
#define OXIMETER2_SLOTA_CH2_OFFSET_REG   0x19
 
#define OXIMETER2_SLOTA_CH3_OFFSET_REG   0x1A
 
#define OXIMETER2_SLOTA_CH4_OFFSET_REG   0x1B
 
#define OXIMETER2_SLOTB_CH1_OFFSET_REG   0x1E
 
#define OXIMETER2_SLOTB_CH2_OFFSET_REG   0x1F
 
#define OXIMETER2_SLOTB_CH3_OFFSET_REG   0x20
 
#define OXIMETER2_SLOTB_CH4_OFFSET_REG   0x21
 
#define OXIMETER2_ILED1_COARSE_REG   0x23
 
#define OXIMETER2_ILED2_COARSE_REG   0x24
 
#define OXIMETER2_ILED_FINE_REG   0x25
 
#define OXIMETER2_SLOTA_LEDMODE_REG   0x30
 
#define OXIMETER2_SLOTA_NUMPULSES_REG   0x31
 
#define OXIMETER2_LED_DISABLE_REG   0x34
 
#define OXIMETER2_SLOTB_LEDMODE_REG   0x35
 
#define OXIMETER2_SLOTB_NUMPULSES_REG   0x36
 
#define OXIMETER2_EXT_SYNC_STARTUP_REG   0x38
 
#define OXIMETER2_SLOTA_AFEMODE_REG   0x39
 
#define OXIMETER2_SLOTB_AFEMODE_REG   0x3B
 
#define OXIMETER2_SLOTA_GAIN_REG   0x42
 
#define OXIMETER2_SLOTA_AFE_CON_REG   0x43
 
#define OXIMETER2_SLOTB_GAIN_REG   0x44
 
#define OXIMETER2_SLOTB_AFE_CON_REG   0x45
 
#define OXIMETER2_SAMPLE_CLK_REG   0x4B
 
#define OXIMETER2_CLK32M_ADJUST_REG   0x4D
 
#define OXIMETER2_ADC_TIMING_REG   0x4E
 
#define OXIMETER2_EXT_SYNC_SEL_REG   0x4F
 
#define OXIMETER2_CLK32M_CAL_EN_REG   0x50
 
#define OXIMETER2_TIA_INDEP_GAIN_REG   0x55
 
#define OXIMETER2_DATA_ACCESS_CTL_REG   0x5F
 
#define OXIMETER2_FIFO_ACCESS   0x60
 
#define OXIMETER2_SLOTA_PD1_16BIT_REG   0x64
 
#define OXIMETER2_SLOTA_PD2_16BIT_REG   0x65
 
#define OXIMETER2_SLOTA_PD3_16BIT_REG   0x66
 
#define OXIMETER2_SLOTA_PD4_16BIT_REG   0x67
 
#define OXIMETER2_SLOTB_PD1_16BIT_REG   0x68
 
#define OXIMETER2_SLOTB_PD2_16BIT_REG   0x69
 
#define OXIMETER2_SLOTB_PD3_16BIT_REG   0x6A
 
#define OXIMETER2_SLOTB_PD4_16BIT_REG   0x6B
 
#define OXIMETER2_A_PD1_LOW_REG   0x70
 
#define OXIMETER2_A_PD2_LOW_REG   0x71
 
#define OXIMETER2_A_PD3_LOW_REG   0x72
 
#define OXIMETER2_A_PD4_LOW_REG   0x73
 
#define OXIMETER2_A_PD1_HIGH_REG   0x74
 
#define OXIMETER2_A_PD2_HIGH_REG   0x75
 
#define OXIMETER2_A_PD3_HIGH_REG   0x76
 
#define OXIMETER2_A_PD4_HIGH_REG   0x77
 
#define OXIMETER2_B_PD1_LOW_REG   0x78
 
#define OXIMETER2_B_PD2_LOW_REG   0x79
 
#define OXIMETER2_B_PD3_LOW_REG   0x7A
 
#define OXIMETER2_B_PD4_LOW_REG   0x7B
 
#define OXIMETER2_B_PD1_HIGH_REG   0x7C
 
#define OXIMETER2_B_PD2_HIGH_REG   0x7D
 
#define OXIMETER2_B_PD3_HIGH_REG   0x7E
 
#define OXIMETER2_B_PD4_HIGH_REG   0x7F
 
#define OXIMETER2_DIS_SLOT   0x00
 
#define OXIMETER2_EN_SLOT   0x01
 
#define OXIMETER2_MODE_STANDBY   0x0000
 
#define OXIMETER2_MODE_PROGRAM   0x0001
 
#define OXIMETER2_MODE_SAMPLE   0x0002
 
#define OXIMETER2_SAMPLE_CLK_CLK32K_EN   0x0080
 
#define OXIMETER2_DATA_ACCESS_CTL_SLOTA_DATA_HOLD   0x0002
 
#define OXIMETER2_DATA_ACCESS_CTL_SLOTB_DATA_HOLD   0x0004
 
#define SLOTA_LED_SEL_LEDX1   0x0001
 
#define SLOTA_LED_SEL_LEDX2   0x0002
 
#define SLOTB_LED_SEL_LEDX1   0x0004
 
#define SLOTB_LED_SEL_LEDX2   0x0008
 
#define OXIMETER2_ALL_CHANNELS_SELECTED   0x00
 
#define OXIMETER2_CH3_CH4_SELECTED   0x01
 
#define OXIMETER2_LEDX1_EN   0x00
 
#define OXIMETER2_LEDX2_EN   0x01
 
#define OXIMETER2_DIS_LED   0x02
 
#define SLOTA_PD_SEL_CH3_CH4   0x0010
 
#define SLOTA_PD_SEL_ALL_CH   0x0040
 
#define SLOTB_PD_SEL_CH3_CH4   0x1000
 
#define SLOTB_PD_SEL_ALL_CH   0x0400
 
#define OXIMETER2_SLOT_A_EN   0x0001
 
#define OXIMETER2_SLOT_B_EN   0x0020
 
#define OXIMETER2_AVERAGE_RES_MODE   0x00
 
#define OXIMETER2_SUM_RES_MODE   0x01
 
#define OXIMETER2_16_BIT_DATA_MASK   0x0000FFFF
 
#define OXIMETER2_CLEAR_INTERRUPTS   0x00FF
 
#define OXIMETER2_PREVENT_UPDATE_OF_DATA_REGS   0x0006
 
#define OXIMETER2_ALLOW_UPDATE_OF_DATA_REGS   0x0000
 

Functions

void oximeter2_cfg_setup (oximeter2_cfg_t *cfg)
 Oximeter 2 configuration object setup function.
 
OXIMETER2_RETVAL oximeter2_init (oximeter2_t *ctx, oximeter2_cfg_t *cfg)
 Initialization function.
 
void oximeter2_default_cfg (oximeter2_t *ctx)
 Click Default Configuration function.
 
uint8_t oximeter2_write_reg (oximeter2_t *ctx, uint8_t register_address, uint16_t transfer_data)
 Generic Write function.
 
uint8_t oximeter2_read_reg (oximeter2_t *cfg, uint8_t register_address, uint16_t *data_out, uint8_t num_of_regs)
 Generic Read function.
 
uint8_t oximeter2_set_time_slot_a (oximeter2_t *ctx, enable_t *dev_enable)
 Time Slot A Set function.
 
uint8_t oximeter2_set_time_slot_b (oximeter2_t *ctx, enable_t *dev_enable)
 Time Slot B Set function.
 
void oximeter2_read_data (oximeter2_t *ctx, uint32_t *channel_results)
 Oximeter 2 Data Read function.
 
void oximeter2_reset (oximeter2_t *ctx)
 Oximeter 2 Reset function.
 
uint8_t oximeter2_set_mode (oximeter2_t *ctx, uint8_t desired_mode)
 Oximeter 2 Mode Set function.
 

Detailed Description

This file contains API header for Oximeter2 Click driver.