Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
sensors/VEML6040.h@7:aa858d789025, 2017-12-07 (annotated)
- Committer:
- Rhyme
- Date:
- Thu Dec 07 01:06:46 2017 +0000
- Revision:
- 7:aa858d789025
- Parent:
- 0:f0de320e23ac
Customer requests of output format added; Second LM75B is obsolete
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:f0de320e23ac | 1 | /* |
Rhyme | 0:f0de320e23ac | 2 | * File description |
Rhyme | 0:f0de320e23ac | 3 | * |
Rhyme | 0:f0de320e23ac | 4 | */ |
Rhyme | 0:f0de320e23ac | 5 | |
Rhyme | 0:f0de320e23ac | 6 | #ifndef _VEML6040_H_ |
Rhyme | 0:f0de320e23ac | 7 | #define _VEML6040_H_ |
Rhyme | 0:f0de320e23ac | 8 | |
Rhyme | 0:f0de320e23ac | 9 | #include "mbed.h" |
Rhyme | 0:f0de320e23ac | 10 | |
Rhyme | 0:f0de320e23ac | 11 | /** |
Rhyme | 0:f0de320e23ac | 12 | * RGBW Color Sensor with I2C Interface |
Rhyme | 0:f0de320e23ac | 13 | * I2C 7bit address: 0x10 |
Rhyme | 0:f0de320e23ac | 14 | * |
Rhyme | 0:f0de320e23ac | 15 | */ |
Rhyme | 0:f0de320e23ac | 16 | |
Rhyme | 0:f0de320e23ac | 17 | class VEML6040 |
Rhyme | 0:f0de320e23ac | 18 | { |
Rhyme | 0:f0de320e23ac | 19 | public: |
Rhyme | 0:f0de320e23ac | 20 | /** |
Rhyme | 0:f0de320e23ac | 21 | * constructor |
Rhyme | 0:f0de320e23ac | 22 | * |
Rhyme | 7:aa858d789025 | 23 | * @param i2c Pointer of the I2C object |
Rhyme | 0:f0de320e23ac | 24 | * @param addr address of the I2C peripheral |
Rhyme | 0:f0de320e23ac | 25 | */ |
Rhyme | 0:f0de320e23ac | 26 | VEML6040(I2C *i2c, int addr) ; |
Rhyme | 0:f0de320e23ac | 27 | |
Rhyme | 0:f0de320e23ac | 28 | ~VEML6040() ; |
Rhyme | 0:f0de320e23ac | 29 | |
Rhyme | 0:f0de320e23ac | 30 | /* |
Rhyme | 0:f0de320e23ac | 31 | * some member functions here (yet to be written) |
Rhyme | 0:f0de320e23ac | 32 | */ |
Rhyme | 0:f0de320e23ac | 33 | /** |
Rhyme | 0:f0de320e23ac | 34 | * get Red |
Rhyme | 0:f0de320e23ac | 35 | * @param none |
Rhyme | 0:f0de320e23ac | 36 | * @returns float value of Red |
Rhyme | 0:f0de320e23ac | 37 | */ |
Rhyme | 0:f0de320e23ac | 38 | float getR(void) ; // return float value of Red |
Rhyme | 0:f0de320e23ac | 39 | |
Rhyme | 0:f0de320e23ac | 40 | /** |
Rhyme | 0:f0de320e23ac | 41 | * get Green |
Rhyme | 0:f0de320e23ac | 42 | * @param none |
Rhyme | 0:f0de320e23ac | 43 | * @returns float value of Green |
Rhyme | 0:f0de320e23ac | 44 | */ |
Rhyme | 0:f0de320e23ac | 45 | float getG(void) ; // return float value of Green |
Rhyme | 0:f0de320e23ac | 46 | |
Rhyme | 0:f0de320e23ac | 47 | /** |
Rhyme | 0:f0de320e23ac | 48 | * get Blue |
Rhyme | 0:f0de320e23ac | 49 | * @param none |
Rhyme | 0:f0de320e23ac | 50 | * @returns float value of Blue |
Rhyme | 0:f0de320e23ac | 51 | */ |
Rhyme | 0:f0de320e23ac | 52 | float getB(void) ; // return float value of Blue |
Rhyme | 0:f0de320e23ac | 53 | |
Rhyme | 0:f0de320e23ac | 54 | /** |
Rhyme | 0:f0de320e23ac | 55 | * get White |
Rhyme | 0:f0de320e23ac | 56 | * @param none |
Rhyme | 0:f0de320e23ac | 57 | * @returns float value of White |
Rhyme | 0:f0de320e23ac | 58 | */ |
Rhyme | 0:f0de320e23ac | 59 | float getW(void) ; // return float value of White |
Rhyme | 0:f0de320e23ac | 60 | |
Rhyme | 0:f0de320e23ac | 61 | /** |
Rhyme | 0:f0de320e23ac | 62 | * get CCT(McCAMY FORMULA) value X |
Rhyme | 0:f0de320e23ac | 63 | * @param none |
Rhyme | 0:f0de320e23ac | 64 | * @returns float CCT value X |
Rhyme | 0:f0de320e23ac | 65 | */ |
Rhyme | 0:f0de320e23ac | 66 | float getX(void) ; // return float value of X |
Rhyme | 0:f0de320e23ac | 67 | |
Rhyme | 0:f0de320e23ac | 68 | /** |
Rhyme | 0:f0de320e23ac | 69 | * get CCT(McCAMY FOMULA) value Y |
Rhyme | 0:f0de320e23ac | 70 | * @param none |
Rhyme | 0:f0de320e23ac | 71 | * @returns float CCT value Y |
Rhyme | 0:f0de320e23ac | 72 | */ |
Rhyme | 0:f0de320e23ac | 73 | float getY(void) ; // return float value of Y |
Rhyme | 0:f0de320e23ac | 74 | |
Rhyme | 0:f0de320e23ac | 75 | /** |
Rhyme | 0:f0de320e23ac | 76 | * get CCT(McCAMY FOMULA) value Z |
Rhyme | 0:f0de320e23ac | 77 | * @param none |
Rhyme | 0:f0de320e23ac | 78 | * @returns float CCT value Z |
Rhyme | 0:f0de320e23ac | 79 | */ |
Rhyme | 0:f0de320e23ac | 80 | float getZ(void) ; // return float value of Z |
Rhyme | 0:f0de320e23ac | 81 | |
Rhyme | 0:f0de320e23ac | 82 | /** |
Rhyme | 0:f0de320e23ac | 83 | * get CIE1931 X |
Rhyme | 0:f0de320e23ac | 84 | * @param none |
Rhyme | 0:f0de320e23ac | 85 | * @returns float CIE1931 X |
Rhyme | 0:f0de320e23ac | 86 | */ |
Rhyme | 0:f0de320e23ac | 87 | float getCIEX(void) ; // return float value of CIE1931_x |
Rhyme | 0:f0de320e23ac | 88 | |
Rhyme | 0:f0de320e23ac | 89 | /** |
Rhyme | 0:f0de320e23ac | 90 | * get CIE1931 Y |
Rhyme | 0:f0de320e23ac | 91 | * @param none |
Rhyme | 0:f0de320e23ac | 92 | * @returns float CIE1931 Y |
Rhyme | 0:f0de320e23ac | 93 | */ |
Rhyme | 0:f0de320e23ac | 94 | float getCIEY(void) ; // return float value of CIE1931_y |
Rhyme | 0:f0de320e23ac | 95 | |
Rhyme | 0:f0de320e23ac | 96 | void getCOLORConf(uint8_t *colorconf) ; |
Rhyme | 0:f0de320e23ac | 97 | void setCOLORConf(uint8_t colorconf) ; |
Rhyme | 0:f0de320e23ac | 98 | // void getX(uint8_t *X) ; |
Rhyme | 0:f0de320e23ac | 99 | // void getY(uint8_t *Y) ; |
Rhyme | 0:f0de320e23ac | 100 | // void getZ(uint8_t *Z) ; |
Rhyme | 0:f0de320e23ac | 101 | /** |
Rhyme | 0:f0de320e23ac | 102 | * get raw Red data |
Rhyme | 0:f0de320e23ac | 103 | * @param uint16_t *rdata |
Rhyme | 0:f0de320e23ac | 104 | * @returns i2c status 0: success non-0: failure |
Rhyme | 0:f0de320e23ac | 105 | */ |
Rhyme | 0:f0de320e23ac | 106 | int getRData(uint16_t *rdata) ; |
Rhyme | 0:f0de320e23ac | 107 | |
Rhyme | 0:f0de320e23ac | 108 | /** |
Rhyme | 0:f0de320e23ac | 109 | * get raw Green data |
Rhyme | 0:f0de320e23ac | 110 | * @param uint16_t *gdata |
Rhyme | 0:f0de320e23ac | 111 | * @returns i2c status 0: success non-0: failure |
Rhyme | 0:f0de320e23ac | 112 | */ |
Rhyme | 0:f0de320e23ac | 113 | int getGData(uint16_t *gdata) ; |
Rhyme | 0:f0de320e23ac | 114 | |
Rhyme | 0:f0de320e23ac | 115 | /** |
Rhyme | 0:f0de320e23ac | 116 | * get raw Blue data |
Rhyme | 0:f0de320e23ac | 117 | * @param uint16_t *bdata |
Rhyme | 0:f0de320e23ac | 118 | * @returns i2c status 0: success non-0: failure |
Rhyme | 0:f0de320e23ac | 119 | */ |
Rhyme | 0:f0de320e23ac | 120 | int getBData(uint16_t *bdata) ; |
Rhyme | 0:f0de320e23ac | 121 | |
Rhyme | 0:f0de320e23ac | 122 | /** |
Rhyme | 0:f0de320e23ac | 123 | * get raw White data |
Rhyme | 0:f0de320e23ac | 124 | * @param uint16_t *wdata |
Rhyme | 0:f0de320e23ac | 125 | * @returns i2c status 0: success non-0: failure |
Rhyme | 0:f0de320e23ac | 126 | */ |
Rhyme | 0:f0de320e23ac | 127 | int getWData(uint16_t *wdata) ; |
Rhyme | 0:f0de320e23ac | 128 | |
Rhyme | 0:f0de320e23ac | 129 | // void getCCTiData(uint16_t *cctidata) ; |
Rhyme | 0:f0de320e23ac | 130 | /** |
Rhyme | 0:f0de320e23ac | 131 | * get CCTi data for CCT (EMPIRICAL APPROACH) |
Rhyme | 0:f0de320e23ac | 132 | * @param none |
Rhyme | 0:f0de320e23ac | 133 | * @returns float CCTi data |
Rhyme | 0:f0de320e23ac | 134 | */ |
Rhyme | 0:f0de320e23ac | 135 | float getCCTiData(void) ; |
Rhyme | 0:f0de320e23ac | 136 | // void getCCTData(uint16_t *cctdata) ; |
Rhyme | 0:f0de320e23ac | 137 | |
Rhyme | 0:f0de320e23ac | 138 | /** |
Rhyme | 0:f0de320e23ac | 139 | * get CCT data (EMPIRICAL APPROACH) |
Rhyme | 0:f0de320e23ac | 140 | * @param none |
Rhyme | 0:f0de320e23ac | 141 | * @returns float CCD data |
Rhyme | 0:f0de320e23ac | 142 | */ |
Rhyme | 0:f0de320e23ac | 143 | float getCCTData(void) ; |
Rhyme | 0:f0de320e23ac | 144 | // void cmdRead(uint8_t cmd, uint8_t *data, uint8_t numdata = 2) ; |
Rhyme | 0:f0de320e23ac | 145 | // void cmdWrite(uint8_t cmd, uint8_t *data, uint8_t numdata = 2) ; |
Rhyme | 0:f0de320e23ac | 146 | |
Rhyme | 0:f0de320e23ac | 147 | private: |
Rhyme | 0:f0de320e23ac | 148 | I2C *p_i2c; |
Rhyme | 0:f0de320e23ac | 149 | int m_addr; |
Rhyme | 0:f0de320e23ac | 150 | int readRegs(int addr, uint8_t * data, int len); |
Rhyme | 0:f0de320e23ac | 151 | int writeRegs(uint8_t * data, int len); |
Rhyme | 0:f0de320e23ac | 152 | } ; |
Rhyme | 0:f0de320e23ac | 153 | #endif /* _VEML6040_H_ */ |