| | |
| | | * ChangeLog: 1, Release initial version on "10/08/23 17:52:00" |
| | | * |
| | | * Pin connection: |
| | | * STH20 Module Raspberry Pi Board |
| | | * TSL2561 Module Raspberry Pi Board |
| | | * VCC <-----> #Pin1(3.3V) |
| | | * SDA0 <-----> #Pin27(SDA, BCM GPIO0) |
| | | * SCL0 <-----> #Pin28(SCL, BCM GPIO1) |
| | |
| | | * dtoverlay=i2c0,pins_0_1 |
| | | * |
| | | ********************************************************************************/ |
| | | |
| | | |
| | | #include <string.h> |
| | | #include <stdio.h> |
| | |
| | | int tsl2561_get_lux(float *lux) |
| | | { |
| | | int i, fd; |
| | | int rv = 0; |
| | | int rv = 0; |
| | | char *dev = TSL2561_I2CDEV; |
| | | float div = 0.0; |
| | | |
| | |
| | | int chn0_data = 0; |
| | | int chn1_data = 0; |
| | | |
| | | if( !lux ) |
| | | { |
| | | log_error("Invalid input arguments\n"); |
| | | return -1; |
| | | } |
| | | if( !lux ) |
| | | { |
| | | log_error("Invalid input arguments\n"); |
| | | return -1; |
| | | } |
| | | |
| | | if( (fd=open(dev, O_RDWR)) < 0) |
| | | { |
| | |
| | | |
| | | if( chn0_data<=0 || chn1_data<0 ) |
| | | { |
| | | rv = -2; |
| | | rv = -2; |
| | | goto OUT; |
| | | } |
| | | |
| | |
| | | |
| | | OUT: |
| | | tsl2561_power(fd, OFF); |
| | | close(fd); |
| | | return rv; |
| | | } |