CM3592 simple library

Dependents:   Mt05_MtSense05

Committer:
johnathanlyu
Date:
Fri Apr 27 09:58:04 2018 +0000
Revision:
1:8547ec72dba2
Parent:
0:a434d2ca0357
update library flow

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 1:8547ec72dba2 9 #define CM3592_REG_UV_DATA 0x06
johnathanlyu 1:8547ec72dba2 10 #define CM3592_REG_UVB_DATA 0x07
johnathanlyu 1:8547ec72dba2 11 #define CM3592_REG_G_DATA 0x09
johnathanlyu 1:8547ec72dba2 12 #define CM3592_REG_IR_DATA 0x0B
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