Complete library for whole scientific

Dependencies:   BOX_1

Committer:
Alessio_Zaino
Date:
Mon Jun 10 13:11:48 2019 +0000
Revision:
1:dda01a024d6c
Parent:
0:f8a9cceb4186
j

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Alessio_Zaino 0:f8a9cceb4186 1 /***************************************************
Alessio_Zaino 0:f8a9cceb4186 2 This is a library for the VEML6070 UV-A Sensor
Alessio_Zaino 0:f8a9cceb4186 3
Alessio_Zaino 0:f8a9cceb4186 4 Works with the VEML6070 sensor from Adafruit
Alessio_Zaino 0:f8a9cceb4186 5 ----> https://www.adafruit.com/products/2899
Alessio_Zaino 0:f8a9cceb4186 6 Or knock-off sensors from aliexpress
Alessio_Zaino 0:f8a9cceb4186 7
Alessio_Zaino 0:f8a9cceb4186 8 These sensors use I2C to communicate, 2 pins are required to
Alessio_Zaino 0:f8a9cceb4186 9 interface
Alessio_Zaino 0:f8a9cceb4186 10
Alessio_Zaino 0:f8a9cceb4186 11 06/09/2017 - Initial mbed driver by Scott Roberts
Alessio_Zaino 0:f8a9cceb4186 12 ****************************************************/
Alessio_Zaino 0:f8a9cceb4186 13
Alessio_Zaino 0:f8a9cceb4186 14 #include "VEML6070.h"
Alessio_Zaino 0:f8a9cceb4186 15 VEML6070::VEML6070 (I2C& p_i2c) : _i2c(p_i2c)
Alessio_Zaino 0:f8a9cceb4186 16 {
Alessio_Zaino 0:f8a9cceb4186 17
Alessio_Zaino 0:f8a9cceb4186 18 }
Alessio_Zaino 0:f8a9cceb4186 19
Alessio_Zaino 0:f8a9cceb4186 20 void VEML6070::begin(veml6070_integrationtime_t itime)
Alessio_Zaino 0:f8a9cceb4186 21 {
Alessio_Zaino 0:f8a9cceb4186 22 _i2c.read((int)0x18,dt,1,false);
Alessio_Zaino 0:f8a9cceb4186 23 dt[0]=((itime << 2) | 0x02);
Alessio_Zaino 0:f8a9cceb4186 24 _i2c.write((int)VEML6070_ADDR_L,dt,2,false);
Alessio_Zaino 0:f8a9cceb4186 25 // Thread::wait(500);
Alessio_Zaino 0:f8a9cceb4186 26 }
Alessio_Zaino 0:f8a9cceb4186 27
Alessio_Zaino 0:f8a9cceb4186 28 uint16_t VEML6070::readUV()
Alessio_Zaino 0:f8a9cceb4186 29 {
Alessio_Zaino 0:f8a9cceb4186 30 uint16_t uvi;
Alessio_Zaino 0:f8a9cceb4186 31 _i2c.read(VEML6070_ADDR_H, dt,1);
Alessio_Zaino 0:f8a9cceb4186 32 uvi = dt[0]<<8;
Alessio_Zaino 0:f8a9cceb4186 33 _i2c.read(VEML6070_ADDR_L, dt,1,false);
Alessio_Zaino 0:f8a9cceb4186 34 uvi |= dt[0];
Alessio_Zaino 0:f8a9cceb4186 35
Alessio_Zaino 0:f8a9cceb4186 36 return uvi;
Alessio_Zaino 0:f8a9cceb4186 37 }
Alessio_Zaino 0:f8a9cceb4186 38