MAX44008 RGB Color, Infrared, and Temperature Sensor
Dependents: test_MAX44008 testSensor
MAX44008.h@2:e4631b2273f8, 2016-12-07 (annotated)
- Committer:
- Rhyme
- Date:
- Wed Dec 07 05:13:02 2016 +0000
- Revision:
- 2:e4631b2273f8
- Parent:
- 0:7d913e68a6d7
Initial commit, skeleton is working
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:7d913e68a6d7 | 1 | /** |
Rhyme | 0:7d913e68a6d7 | 2 | * MAX44008 RGB Color, Infrared, |
Rhyme | 0:7d913e68a6d7 | 3 | * and Temperature Sensor |
Rhyme | 0:7d913e68a6d7 | 4 | * I2C 7bit address: 0x40 (A0 = 1) 0x41 (A0 = 0) |
Rhyme | 0:7d913e68a6d7 | 5 | */ |
Rhyme | 0:7d913e68a6d7 | 6 | |
Rhyme | 0:7d913e68a6d7 | 7 | #ifndef _MAX44008_H_ |
Rhyme | 0:7d913e68a6d7 | 8 | #define _MAX44008_H_ |
Rhyme | 0:7d913e68a6d7 | 9 | |
Rhyme | 0:7d913e68a6d7 | 10 | #include "mbed.h" |
Rhyme | 0:7d913e68a6d7 | 11 | |
Rhyme | 0:7d913e68a6d7 | 12 | class MAX44008 |
Rhyme | 0:7d913e68a6d7 | 13 | { |
Rhyme | 0:7d913e68a6d7 | 14 | public: |
Rhyme | 0:7d913e68a6d7 | 15 | /** |
Rhyme | 0:7d913e68a6d7 | 16 | * MAX44008 constructor |
Rhyme | 0:7d913e68a6d7 | 17 | * |
Rhyme | 0:7d913e68a6d7 | 18 | * @param sda SDA pin |
Rhyme | 0:7d913e68a6d7 | 19 | * @param scl SCL pin |
Rhyme | 0:7d913e68a6d7 | 20 | * @param addr address of the I2C peripheral |
Rhyme | 0:7d913e68a6d7 | 21 | */ |
Rhyme | 0:7d913e68a6d7 | 22 | MAX44008(PinName sda, PinName scl, int addr) ; |
Rhyme | 0:7d913e68a6d7 | 23 | |
Rhyme | 0:7d913e68a6d7 | 24 | ~MAX44008() ; |
Rhyme | 0:7d913e68a6d7 | 25 | |
Rhyme | 0:7d913e68a6d7 | 26 | /* |
Rhyme | 0:7d913e68a6d7 | 27 | * some member functions here (yet to be written) |
Rhyme | 0:7d913e68a6d7 | 28 | */ |
Rhyme | 0:7d913e68a6d7 | 29 | int16_t getAMB_CLEAR(void) ; |
Rhyme | 0:7d913e68a6d7 | 30 | int16_t getAMB_RED(void) ; |
Rhyme | 0:7d913e68a6d7 | 31 | int16_t getAMB_GREEN(void) ; |
Rhyme | 0:7d913e68a6d7 | 32 | int16_t getAMB_BLUE(void) ; |
Rhyme | 0:7d913e68a6d7 | 33 | int16_t getIR(void) ; |
Rhyme | 0:7d913e68a6d7 | 34 | int16_t getIRCOMP(void) ; |
Rhyme | 0:7d913e68a6d7 | 35 | int16_t getTEMP(void) ; |
Rhyme | 0:7d913e68a6d7 | 36 | uint8_t getIntStatus(void) ; |
Rhyme | 0:7d913e68a6d7 | 37 | void setIntStatus(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 38 | uint8_t getMainConfig(void) ; |
Rhyme | 0:7d913e68a6d7 | 39 | void setMainConfig(uint8_t newConfig) ; |
Rhyme | 0:7d913e68a6d7 | 40 | uint8_t getAMB_Config(void) ; |
Rhyme | 0:7d913e68a6d7 | 41 | void setAMB_Config(uint8_t newConfig) ; |
Rhyme | 0:7d913e68a6d7 | 42 | int16_t getAMB_UPTHR(void) ; |
Rhyme | 0:7d913e68a6d7 | 43 | void setAMB_UPTHR(int16_t newTHR) ; |
Rhyme | 0:7d913e68a6d7 | 44 | int16_t getAMB_LOTHR(void) ; |
Rhyme | 0:7d913e68a6d7 | 45 | void setAMB_LOTHR(int16_t newTHR) ; |
Rhyme | 0:7d913e68a6d7 | 46 | uint8_t getAMB_PST(void) ; |
Rhyme | 0:7d913e68a6d7 | 47 | void setAMB_PST(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 48 | /* Ambient ADC Gains */ |
Rhyme | 0:7d913e68a6d7 | 49 | uint8_t getTRIM_GAIN_CLEAR(void) ; |
Rhyme | 0:7d913e68a6d7 | 50 | void setTRIM_GAIN_CLEAR(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 51 | uint8_t getTRIM_GAIN_RED(void) ; |
Rhyme | 0:7d913e68a6d7 | 52 | void setTRIM_GAIN_RED(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 53 | uint8_t getTRIM_GAIN_GREEN(void) ; |
Rhyme | 0:7d913e68a6d7 | 54 | void setTRIM_GAIN_GREEN(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 55 | uint8_t getTRIM_GAIN_BLUE(void) ; |
Rhyme | 0:7d913e68a6d7 | 56 | void setTRIM_GAIN_BLUE(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 57 | uint8_t getTRIM_GAIN_IR(void) ; |
Rhyme | 0:7d913e68a6d7 | 58 | void setTRIM_GAIN_IR(uint8_t newValue) ; |
Rhyme | 0:7d913e68a6d7 | 59 | |
Rhyme | 0:7d913e68a6d7 | 60 | void enableTRIM(void) ; |
Rhyme | 0:7d913e68a6d7 | 61 | void disableTRIM(void) ; |
Rhyme | 0:7d913e68a6d7 | 62 | void enableCOMP(void) ; |
Rhyme | 0:7d913e68a6d7 | 63 | void disableCOMP(void) ; |
Rhyme | 0:7d913e68a6d7 | 64 | void enableTEMP(void) ; |
Rhyme | 0:7d913e68a6d7 | 65 | void disableTEMP(void) ; |
Rhyme | 0:7d913e68a6d7 | 66 | void enableAMBINT(void) ; |
Rhyme | 0:7d913e68a6d7 | 67 | void disableAMBINT(void) ; |
Rhyme | 0:7d913e68a6d7 | 68 | void selectAMBINT(uint8_t newChannel) ; |
Rhyme | 0:7d913e68a6d7 | 69 | void setMode(uint8_t newMode) ; |
Rhyme | 2:e4631b2273f8 | 70 | void setRawMode(uint8_t newMode) ; |
Rhyme | 0:7d913e68a6d7 | 71 | |
Rhyme | 0:7d913e68a6d7 | 72 | private: |
Rhyme | 0:7d913e68a6d7 | 73 | I2C m_i2c; |
Rhyme | 0:7d913e68a6d7 | 74 | int m_addr; |
Rhyme | 0:7d913e68a6d7 | 75 | void readRegs(int addr, uint8_t *data, int len) ; |
Rhyme | 0:7d913e68a6d7 | 76 | void writeRegs(uint8_t *data, int len) ; |
Rhyme | 0:7d913e68a6d7 | 77 | } ; |
Rhyme | 0:7d913e68a6d7 | 78 | #endif /* _MAX44008_H_ */ |