Vishay UV Sensor I2C library

Committer:
shockey
Date:
Fri Feb 05 02:28:12 2016 +0000
Revision:
0:14ccc7ed49fa
Child:
2:0f3bb80aba40
First working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shockey 0:14ccc7ed49fa 1 /*
shockey 0:14ccc7ed49fa 2 * File description
shockey 0:14ccc7ed49fa 3 *
shockey 0:14ccc7ed49fa 4 */
shockey 0:14ccc7ed49fa 5
shockey 0:14ccc7ed49fa 6 #ifndef _VEML6075_H_
shockey 0:14ccc7ed49fa 7 #define _VEML6075_H_
shockey 0:14ccc7ed49fa 8
shockey 0:14ccc7ed49fa 9 #include "mbed.h"
shockey 0:14ccc7ed49fa 10
shockey 0:14ccc7ed49fa 11 /**
shockey 0:14ccc7ed49fa 12 * UVA and UVB Light Sensor with I2C Interface
shockey 0:14ccc7ed49fa 13 * I2C 7bit address: 0x10
shockey 0:14ccc7ed49fa 14 *
shockey 0:14ccc7ed49fa 15 */
shockey 0:14ccc7ed49fa 16
shockey 0:14ccc7ed49fa 17 class VEML6075
shockey 0:14ccc7ed49fa 18 {
shockey 0:14ccc7ed49fa 19 public:
shockey 0:14ccc7ed49fa 20 /**
shockey 0:14ccc7ed49fa 21 * constructor
shockey 0:14ccc7ed49fa 22 *
shockey 0:14ccc7ed49fa 23 * @param sda SDA pin
shockey 0:14ccc7ed49fa 24 * @param scl SCL pin
shockey 0:14ccc7ed49fa 25 * @param addr address of the I2C peripheral
shockey 0:14ccc7ed49fa 26 */
shockey 0:14ccc7ed49fa 27 VEML6075(PinName sda, PinName scl, int addr) ;
shockey 0:14ccc7ed49fa 28
shockey 0:14ccc7ed49fa 29 ~VEML6075() ;
shockey 0:14ccc7ed49fa 30
shockey 0:14ccc7ed49fa 31 /*
shockey 0:14ccc7ed49fa 32 * some member functions here (yet to be written)
shockey 0:14ccc7ed49fa 33 */
shockey 0:14ccc7ed49fa 34 float getUVA(void) ; // return float value of UVA
shockey 0:14ccc7ed49fa 35 float getUVA_CIE(void) ; // return float value of UVA_CIE
shockey 0:14ccc7ed49fa 36 float getUVB(void) ; // return float value of UVB
shockey 0:14ccc7ed49fa 37 float getUVB_CIE(void) ; // return float value of UVB_CIE
shockey 0:14ccc7ed49fa 38 void getUVConf(uint8_t *uvconf) ;
shockey 0:14ccc7ed49fa 39 void setUVConf(uint8_t uvconf) ;
shockey 0:14ccc7ed49fa 40 void getUVAData(uint16_t *uvadata) ;
shockey 0:14ccc7ed49fa 41 void getUVBData(uint16_t *uvbdata) ;
shockey 0:14ccc7ed49fa 42 void getUVDData(uint16_t *uvddata) ;
shockey 0:14ccc7ed49fa 43 void getUVCOMP1Data(uint16_t *uvcomp1data) ;
shockey 0:14ccc7ed49fa 44 void getUVCOMP2Data(uint16_t *uvcomp2data) ;
shockey 0:14ccc7ed49fa 45 float UVI(void) ;
shockey 0:14ccc7ed49fa 46 void getID(uint16_t *id) ;
shockey 0:14ccc7ed49fa 47 // void cmdRead(uint8_t cmd, uint8_t *data, uint8_t numdata = 2) ;
shockey 0:14ccc7ed49fa 48 // void cmdWrite(uint8_t cmd, uint8_t *data, uint8_t numdata = 2) ;
shockey 0:14ccc7ed49fa 49
shockey 0:14ccc7ed49fa 50 private:
shockey 0:14ccc7ed49fa 51 I2C m_i2c;
shockey 0:14ccc7ed49fa 52 int m_addr;
shockey 0:14ccc7ed49fa 53 void readRegs(int addr, uint8_t * data, int len);
shockey 0:14ccc7ed49fa 54 void writeRegs(uint8_t * data, int len);
shockey 0:14ccc7ed49fa 55 } ;
shockey 0:14ccc7ed49fa 56 #endif /* _VEML6075_H_ */