grove_digital_light
grove_digital_light.h@0:54ed8f245631, 2015-06-09 (annotated)
- Committer:
- JackyZhangFromSeeed
- Date:
- Tue Jun 09 10:17:49 2015 +0000
- Revision:
- 0:54ed8f245631
grove_digital_light
Who changed what in which revision?
User | Revision | Line number | New 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 |