CM3592 simple library
CM3592.h@0:a434d2ca0357, 2017-06-06 (annotated)
- 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?
User | Revision | Line number | New 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 |