oximeter  2.0.0.0
Data Structures | Macros | Functions
oximeter.h File Reference

This file contains API for Oximeter 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  oximeter_t
 Click ctx object definition. More...
 
struct  oximeter_cfg_t
 Click configuration structure definition. More...
 
struct  enable_t
 

Macros

#define OXIMETER_MAP_MIKROBUS(cfg, mikrobus)
 
#define OXIMETER_RETVAL   uint8_t
 
#define OXIMETER_OK   0x00
 
#define OXIMETER_INIT_ERROR   0xFF
 
#define OXIM_STATUS_REG   0x00
 
#define OXIM_INT_MASK_REG   0x01
 
#define OXIM_GPIO_DRV_REG   0x02
 
#define OXIM_FIFO_THRESH_REG   0x06
 
#define OXIM_DEVID_REG   0x08
 
#define OXIM_I2CS_ID_REG   0x09
 
#define OXIM_CLK_RATIO_REG   0x0A
 
#define OXIM_GPIO_CTRL_REG   0x0B
 
#define OXIM_SLAVE_ADDRESS_KEY_REG   0x0D
 
#define OXIM_SW_RESET_REG   0x0F
 
#define OXIM_MODE_REG   0x10
 
#define OXIM_SLOT_EN_REG   0x11
 
#define OXIM_FSAMPLE_REG   0x12
 
#define OXIM_PD_LED_SELECT_REG   0x14
 
#define OXIM_NUM_AVG_REG   0x15
 
#define OXIM_SLOTA_CH1_OFFSET_REG   0x18
 
#define OXIM_SLOTA_CH2_OFFSET_REG   0x19
 
#define OXIM_SLOTA_CH3_OFFSET_REG   0x1A
 
#define OXIM_SLOTA_CH4_OFFSET_REG   0x1B
 
#define OXIM_SLOTB_CH1_OFFSET_REG   0x1E
 
#define OXIM_SLOTB_CH2_OFFSET_REG   0x1F
 
#define OXIM_SLOTB_CH3_OFFSET_REG   0x20
 
#define OXIM_SLOTB_CH4_OFFSET_REG   0x21
 
#define OXIM_ILED3_COARSE_REG   0x22
 
#define OXIM_ILED1_COARSE_REG   0x23
 
#define OXIM_ILED2_COARSE_REG   0x24
 
#define OXIM_ILED_FINE_REG   0x25
 
#define OXIM_SLOTA_LED_PULSE_REG   0x30
 
#define OXIM_SLOTA_NUMPULSES_REG   0x31
 
#define OXIM_LED_DISABLE_REG   0x34
 
#define OXIM_SLOTB_LED_PULSE_REG   0x35
 
#define OXIM_SLOTB_NUMPULSES_REG   0x36
 
#define OXIM_ALT_PWR_DN_REG   0x37
 
#define OXIM_EXT_SYNC_STARTUP_REG   0x38
 
#define OXIM_SLOTA_AFE_WINDOW_REG   0x39
 
#define OXIM_SLOTB_AFE_WINDOW_REG   0x3B
 
#define OXIM_AFE_PWR_CFG1_REG   0x3C
 
#define OXIM_SLOTA_TIA_CFG_REG   0x42
 
#define OXIM_SLOTA_AFE_CFG_REG   0x43
 
#define OXIM_SLOTB_TIA_CFG_REG   0x44
 
#define OXIM_SLOTB_AFE_CFG_REG   0x45
 
#define OXIM_SAMPLE_CLK_REG   0x4B
 
#define OXIM_CLK32M_ADJUST_REG   0x4D
 
#define OXIM_ADC_CLOCK_REG   0x4E
 
#define OXIM_EXT_SYNC_SEL_REG   0x4F
 
#define OXIM_CLK32M_CAL_EN_REG   0x50
 
#define OXIM_AFE_PWR_CFG2_REG   0x54
 
#define OXIM_TIA_INDEP_GAIN_REG   0x55
 
#define OXIM_DIGITAL_INT_EN_REG   0x58
 
#define OXIM_DIG_INT_CFG_REG   0x5A
 
#define OXIM_DATA_ACCESS_CTL_REG   0x5F
 
#define OXIM_FIFO_ACCESS_REG   0x60
 
#define OXIM_SLOTA_PD1_16BIT_REG   0x64
 
#define OXIM_SLOTA_PD2_16BIT_REG   0x65
 
#define OXIM_SLOTA_PD3_16BIT_REG   0x66
 
#define OXIM_SLOTA_PD4_16BIT_REG   0x67
 
#define OXIM_SLOTB_PD1_16BIT_REG   0x68
 
#define OXIM_SLOTB_PD2_16BIT_REG   0x69
 
#define OXIM_SLOTB_PD3_16BIT_REG   0x6A
 
#define OXIM_SLOTB_PD4_16BIT_REG   0x6B
 
#define OXIM_A_PD1_LOW_REG   0x70
 
#define OXIM_A_PD2_LOW_REG   0x71
 
#define OXIM_A_PD3_LOW_REG   0x72
 
#define OXIM_A_PD4_LOW_REG   0x73
 
#define OXIM_A_PD1_HIGH_REG   0x74
 
#define OXIM_A_PD2_HIGH_REG   0x75
 
#define OXIM_A_PD3_HIGH_REG   0x76
 
#define OXIM_A_PD4_HIGH_REG   0x77
 
#define OXIM_B_PD1_LOW_REG   0x78
 
#define OXIM_B_PD2_LOW_REG   0x79
 
#define OXIM_B_PD3_LOW_REG   0x7A
 
#define OXIM_B_PD4_LOW_REG   0x7B
 
#define OXIM_B_PD1_HIGH_REG   0x7C
 
#define OXIM_B_PD2_HIGH_REG   0x7D
 
#define OXIM_B_PD3_HIGH_REG   0x7E
 
#define OXIM_B_PD4_HIGH_REG   0x7F
 
#define OXIM_DIS_SLOT   0x00
 
#define OXIM_EN_SLOT   0x01
 
#define OXIM_NO_PHOTODIODE_CONN   0x00
 
#define OXIM_ALL_PHOTODIODE_CONN   0x01
 
#define OXIM_PD5_PD6_PD7_PD8_CONN   0x02
 
#define OXIM_PD1_PD2_PD3_PD4_CONN   0x03
 
#define OXIM_PDX_TO_AFE   0x00
 
#define OXIM_LEDX1_EN   0x01
 
#define OXIM_LEDX2_EN   0x02
 
#define OXIM_LEDX3_EN   0x03
 
#define OXIM_DIS_LED   0x04
 
#define OXIM_SLOT_NORM_OP_MODE   0x00
 
#define OXIM_SLOT_DIG_INT_OP_MODE   0x01
 
#define OXIM_CH1_EN   0x00
 
#define OXIM_CH2_EN   0x01
 
#define OXIM_CH1_CH2_EN   0x02
 
#define OXIM_CH3_CH4_EN   0x03
 
#define OXIM_CH2_CH3_CH4_EN   0x04
 
#define OXIM_ALL_CHANN_EN   0x05
 
#define OXIM_AVERAGE_RES_MODE   0x00
 
#define OXIM_SUM_RES_MODE   0x01
 
#define OXIM_DEV_STANDBY_OP_MODE   0x0000
 
#define OXIM_DEV_PROGRAM_OP_MODE   0x0001
 
#define OXIM_DEV_NORMAL_OP_MODE   0x0002
 

Functions

void oximeter_cfg_setup (oximeter_cfg_t *cfg)
 Config Object Initialization function. More...
 
OXIMETER_RETVAL oximeter_init (oximeter_t *ctx, oximeter_cfg_t *cfg)
 Initialization function. More...
 
void oximeter_default_cfg (oximeter_t *ctx)
 Click Default Configuration function. More...
 
uint8_t oxim_write_reg (oximeter_t *ctx, uint8_t register_address, uint16_t transfer_data)
 Generic Write function. More...
 
uint8_t oxim_read_reg (oximeter_t *ctx, uint8_t register_address, uint16_t *data_out, uint8_t n_registers)
 Generic Read function. More...
 
uint8_t oxim_set_time_slot_a (oximeter_t *ctx, enable_t *dev_enable, uint8_t set_mode)
 Time Slot A Set function. More...
 
uint8_t oxim_set_time_slot_b (oximeter_t *ctx, enable_t *dev_enable, uint8_t set_mode)
 Time Slot B Set function. More...
 
uint8_t oxim_enable_channels (oximeter_t *ctx, uint8_t select_channel)
 Channels Enable function. More...
 
void oxim_read_data (oximeter_t *ctx, uint32_t *chann_results, uint8_t result_mode)
 Data Read function. More...
 
uint8_t oxim_get_interr_gpio0 (oximeter_t *ctx)
 GPIO0 Interrupt Get function. More...
 
uint8_t oxim_get_interr_gpio1 (oximeter_t *ctx)
 GPIO1 Interrupt Get function. More...
 
void oxim_reset (oximeter_t *ctx)
 Reset function. More...
 
uint8_t oxim_set_mode (oximeter_t *ctx, uint16_t select_mode)
 Mode Set function. More...
 

Detailed Description

This file contains API for Oximeter Click driver.