| | |
| | | if( (s_tsl_fd=open("/dev/i2c-1", O_RDWR)) < 0) |
| | | { |
| | | log_err("TSL2561 I2C device setup failure: %s\n", strerror(errno)); |
| | | return -1; |
| | | return -1; |
| | | } |
| | | |
| | | log_nrml("TSL2561 initialise ok, s_tsl_fd=%d\n", s_tsl_fd); |
| | | log_dbg("TSL2561 initialise ok, s_tsl_fd=%d\n", s_tsl_fd); |
| | | return s_tsl_fd; |
| | | } |
| | | |
| | |
| | | if( ioctl(s_tsl_fd, I2C_RDWR, &data) < 0 ) |
| | | { |
| | | log_err("%s() ioctl failure: %s\n", __func__, strerror(errno)); |
| | | return -1; |
| | | return -1; |
| | | } |
| | | |
| | | |
| | |
| | | if( ioctl(s_tsl_fd, I2C_RDWR, &data) < 0 ) |
| | | { |
| | | log_err("%s() ioctl failure: %s\n", __func__, strerror(errno)); |
| | | return -1; |
| | | return -1; |
| | | } |
| | | |
| | | return 0; |
| | |
| | | if( ioctl(s_tsl_fd, I2C_RDWR, &data) < 0 ) |
| | | { |
| | | log_err("%s() ioctl failure: %s\n", __func__, strerror(errno)); |
| | | return -1; |
| | | return -1; |
| | | } |
| | | |
| | | memset(buf, 0, sizeof(buf)); |
| | |
| | | if( ioctl(s_tsl_fd, I2C_RDWR, &data) < 0 ) |
| | | { |
| | | log_err("%s() ioctl failure: %s\n", __func__, strerror(errno)); |
| | | return -1; |
| | | return -1; |
| | | } |
| | | |
| | | *regval = msg.buf[0]; |
| | |
| | | float div = 0.0; |
| | | float lux = 0.0; |
| | | |
| | | |
| | | |
| | | tsl2561_power(ON); |
| | | |
| | | msleep(410); /* t(CONV) MAX 400ms */ |
| | |
| | | /* Read register Channel0 and channel1 data from register */ |
| | | for(i=0; i<REG_COUNT; i++) |
| | | { |
| | | tsl2561_readreg(regs_addr[i], ®_data[i]); |
| | | tsl2561_readreg(regs_addr[i], ®_data[i]); |
| | | } |
| | | |
| | | chn0_data = reg_data[1]*256 + reg_data[0]; /* Channel0 = DATA0HIGH<<8 + DATA0LOW */ |