CM3592 simple library

Dependents:   Mt05_MtSense05

Committer:
johnathanlyu
Date:
Tue Jun 06 01:56:14 2017 +0000
Revision:
0:a434d2ca0357
Child:
1:8547ec72dba2
CM3592 UV sensor simple setup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
johnathanlyu 0:a434d2ca0357 1 #ifndef CM3592_H
johnathanlyu 0:a434d2ca0357 2 #define CM3592_H
johnathanlyu 0:a434d2ca0357 3
johnathanlyu 0:a434d2ca0357 4 #define CM3592_ADDR 0x20
johnathanlyu 0:a434d2ca0357 5
johnathanlyu 0:a434d2ca0357 6 #define CM3592_REG_CTRL 0x00
johnathanlyu 0:a434d2ca0357 7 #define CM3592_REG_ALS_HIGH_THRESHOLD 0x02
johnathanlyu 0:a434d2ca0357 8 #define CM3592_REG_ALS_LOW_THRESHOLD 0x03
johnathanlyu 0:a434d2ca0357 9 #define CM3592_REG_UV_DATA 0x04
johnathanlyu 0:a434d2ca0357 10 #define CM3592_REG_IR_DATA 0x05
johnathanlyu 0:a434d2ca0357 11 #define CM3592_REG_ALS_DATA 0x08
johnathanlyu 0:a434d2ca0357 12 #define CM3592_REG_WHITE_ALS_DATA 0x09
johnathanlyu 0:a434d2ca0357 13 #define CM3592_REG_DEVICE_ID 0x0C
johnathanlyu 0:a434d2ca0357 14 #define CM3592_REG_ALS_CROSS_INT_EVENT 0x0D
johnathanlyu 0:a434d2ca0357 15
johnathanlyu 0:a434d2ca0357 16 #include "mbed.h"
johnathanlyu 0:a434d2ca0357 17
johnathanlyu 0:a434d2ca0357 18 class CM3592 {
johnathanlyu 0:a434d2ca0357 19 public:
johnathanlyu 0:a434d2ca0357 20 CM3592(I2C& i2c);
johnathanlyu 0:a434d2ca0357 21 int init();
johnathanlyu 0:a434d2ca0357 22 int init(char configL, char configH);
johnathanlyu 0:a434d2ca0357 23 int readData(uint16_t *uv);
johnathanlyu 0:a434d2ca0357 24 int getUVIndex(uint16_t uv);
johnathanlyu 0:a434d2ca0357 25 protected:
johnathanlyu 0:a434d2ca0357 26 I2C m_i2c;
johnathanlyu 0:a434d2ca0357 27 char config[2];
johnathanlyu 0:a434d2ca0357 28 void write(char reg, char data[]);
johnathanlyu 0:a434d2ca0357 29 void read(char reg, char data[]);
johnathanlyu 0:a434d2ca0357 30 private:
johnathanlyu 0:a434d2ca0357 31
johnathanlyu 0:a434d2ca0357 32 };
johnathanlyu 0:a434d2ca0357 33
johnathanlyu 0:a434d2ca0357 34 #endif