grove_digital_light

Committer:
JackyZhangFromSeeed
Date:
Tue Jun 09 10:17:49 2015 +0000
Revision:
0:54ed8f245631
grove_digital_light

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JackyZhangFromSeeed 0:54ed8f245631 1
JackyZhangFromSeeed 0:54ed8f245631 2
JackyZhangFromSeeed 0:54ed8f245631 3
JackyZhangFromSeeed 0:54ed8f245631 4 #ifndef __GROVE_DIGITAL_LIGHT_H__
JackyZhangFromSeeed 0:54ed8f245631 5 #define __GROVE_DIGITAL_LIGHT_H__
JackyZhangFromSeeed 0:54ed8f245631 6
JackyZhangFromSeeed 0:54ed8f245631 7 #include "suli2.h"
JackyZhangFromSeeed 0:54ed8f245631 8
JackyZhangFromSeeed 0:54ed8f245631 9 #define TSL2561_Address (0x29<<1) //device address
JackyZhangFromSeeed 0:54ed8f245631 10
JackyZhangFromSeeed 0:54ed8f245631 11 #define TSL2561_Control 0x80
JackyZhangFromSeeed 0:54ed8f245631 12 #define TSL2561_Timing 0x81
JackyZhangFromSeeed 0:54ed8f245631 13 #define TSL2561_Interrupt 0x86
JackyZhangFromSeeed 0:54ed8f245631 14 #define TSL2561_Channal0L 0x8C
JackyZhangFromSeeed 0:54ed8f245631 15 #define TSL2561_Channal0H 0x8D
JackyZhangFromSeeed 0:54ed8f245631 16 #define TSL2561_Channal1L 0x8E
JackyZhangFromSeeed 0:54ed8f245631 17 #define TSL2561_Channal1H 0x8F
JackyZhangFromSeeed 0:54ed8f245631 18
JackyZhangFromSeeed 0:54ed8f245631 19 #define LUX_SCALE 14 // scale by 2^14
JackyZhangFromSeeed 0:54ed8f245631 20 #define RATIO_SCALE 9 // scale ratio by 2^9
JackyZhangFromSeeed 0:54ed8f245631 21 #define CH_SCALE 10 // scale channel values by 2^10
JackyZhangFromSeeed 0:54ed8f245631 22 #define CHSCALE_TINT0 0x7517 // 322/11 * 2^CH_SCALE
JackyZhangFromSeeed 0:54ed8f245631 23 #define CHSCALE_TINT1 0x0fe7 // 322/81 * 2^CH_SCALE
JackyZhangFromSeeed 0:54ed8f245631 24
JackyZhangFromSeeed 0:54ed8f245631 25 #define K1T 0x0040 // 0.125 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 26 #define B1T 0x01f2 // 0.0304 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 27 #define M1T 0x01be // 0.0272 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 28 #define K2T 0x0080 // 0.250 * 2^RATIO_SCA
JackyZhangFromSeeed 0:54ed8f245631 29 #define B2T 0x0214 // 0.0325 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 30 #define M2T 0x02d1 // 0.0440 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 31 #define K3T 0x00c0 // 0.375 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 32 #define B3T 0x023f // 0.0351 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 33 #define M3T 0x037b // 0.0544 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 34 #define K4T 0x0100 // 0.50 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 35 #define B4T 0x0270 // 0.0381 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 36 #define M4T 0x03fe // 0.0624 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 37 #define K5T 0x0138 // 0.61 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 38 #define B5T 0x016f // 0.0224 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 39 #define M5T 0x01fc // 0.0310 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 40 #define K6T 0x019a // 0.80 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 41 #define B6T 0x00d2 // 0.0128 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 42 #define M6T 0x00fb // 0.0153 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 43 #define K7T 0x029a // 1.3 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 44 #define B7T 0x0018 // 0.00146 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 45 #define M7T 0x0012 // 0.00112 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 46 #define K8T 0x029a // 1.3 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 47 #define B8T 0x0000 // 0.000 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 48 #define M8T 0x0000 // 0.000 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 49
JackyZhangFromSeeed 0:54ed8f245631 50 #define K1C 0x0043 // 0.130 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 51 #define B1C 0x0204 // 0.0315 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 52 #define M1C 0x01ad // 0.0262 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 53 #define K2C 0x0085 // 0.260 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 54 #define B2C 0x0228 // 0.0337 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 55 #define M2C 0x02c1 // 0.0430 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 56 #define K3C 0x00c8 // 0.390 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 57 #define B3C 0x0253 // 0.0363 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 58 #define M3C 0x0363 // 0.0529 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 59 #define K4C 0x010a // 0.520 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 60 #define B4C 0x0282 // 0.0392 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 61 #define M4C 0x03df // 0.0605 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 62 #define K5C 0x014d // 0.65 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 63 #define B5C 0x0177 // 0.0229 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 64 #define M5C 0x01dd // 0.0291 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 65 #define K6C 0x019a // 0.80 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 66 #define B6C 0x0101 // 0.0157 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 67 #define M6C 0x0127 // 0.0180 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 68 #define K7C 0x029a // 1.3 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 69 #define B7C 0x0037 // 0.00338 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 70 #define M7C 0x002b // 0.00260 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 71 #define K8C 0x029a // 1.3 * 2^RATIO_SCALE
JackyZhangFromSeeed 0:54ed8f245631 72 #define B8C 0x0000 // 0.000 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 73 #define M8C 0x0000 // 0.000 * 2^LUX_SCALE
JackyZhangFromSeeed 0:54ed8f245631 74
JackyZhangFromSeeed 0:54ed8f245631 75 void grove_digital_light_init(I2C_T *i2c, int pinsda, int pinscl);
JackyZhangFromSeeed 0:54ed8f245631 76 bool grove_digital_light_write_setup(I2C_T *i2c);
JackyZhangFromSeeed 0:54ed8f245631 77 bool grove_digital_light_readvisiblelux(I2C_T *i2c, uint32_t *lux);
JackyZhangFromSeeed 0:54ed8f245631 78
JackyZhangFromSeeed 0:54ed8f245631 79 #endif