/* * File: LightSensor.h * Author: cterndru * * Created on February 3, 2015, 2:52 PM */ #ifndef LIGHTSENSOR_H #define LIGHTSENSOR_H #include "I2C2.h" // I2C REGISTERS #define PART_ID 0x00 #define REV_ID 0x01 #define SEQ_ID 0x02 #define INT_CFG 0x03 #define IRQ_ENABLE 0x04 #define HW_KEY 0x07 #define MEAS_RATE0 0x08 #define MEAS_RATE1 0x09 #define PS_RATE 0x0A #define PS_LED21 0x0F #define PS_LED3 0x10 #define UCOEF0 0x13 #define UCOEF1 0x14 #define UCOEF2 0x15 #define UCOEF3 0x16 #define PARAM_WR 0x17 #define COMMAND 0x18 #define RESPONSE 0x20 #define IRQ_STATUS 0x21 #define ALS_VIS_DATA0 0x22 #define ALS_VIS_DATA1 0x23 #define ALS_IR_DATA0 0x24 #define ALS_IR_DATA1 0x25 #define PS1_DATA0 0x26 #define PS1_DATA1 0x27 #define PS2_DATA0 0x28 #define PS2_DATA1 0x29 #define PS3_DATA0 0x2A //#define PS3_DATA1 0x2B #define UVINDEX0 0x2C #define UVINDEX1 0x2D #define PARAM_RD 0x2E #define CHIP_STAT 0x30 #define ANA_IN_KEY 0x3B // 0x3B-0x3E // COMMAND CODES #define NOP 0x00 #define RESET 0x01 #define BUSADDR 0x02 #define PS_FORCE 0x05 #define GET_CAL 0x12 #define ALS_FORCE 0x06 #define PSALS_FORCE 0x07 #define PS_PAUSE 0x09 #define ALS_PAUSE 0x0A #define PSALS_PAUSE 0x0B #define PS_AUTO 0x0D #define ALS_AUTO 0x0E #define PSALS_AUTO 0x0F // RESPONSE CODES #define INVALID_SETTING 0x80 #define PS1_ADC_OVERFLOW 0x88 #define PS2_ADC_OVERFLOW 0x89 #define PS3_ADC_OVERFLOW 0x8A #define ALS_VIS_ADC_OVERFLOW 0x8C #define ALS_IR_ADC_OVERFLOW 0x8D #define AUX_ADC_OVERFLOW 0x8E // WRITE AND READ #define WRITE_LS 0xC0 #define READ_LS 0xC1 void i2c_write_LS(char,char); unsigned char i2c_read_LS(char); void LS_init(); unsigned int LS_measure(void); #endif /* LIGHTSENSOR_H */