check if TSL2561::begin returns true to prevent false positives

This commit is contained in:
Kevin Baluha 2019-02-07 03:08:13 -07:00
parent 8be3da63e1
commit a1ef7b254e
2 changed files with 9 additions and 7 deletions

View File

@ -161,6 +161,7 @@ int16_t Ads1115GetConversion(uint8_t channel)
void Ads1115Detect(void) void Ads1115Detect(void)
{ {
uint16_t buffer; uint16_t buffer;
uint16_t conf_buffer;
//if (ads1115_type) { //if (ads1115_type) {
//return; //return;
@ -168,7 +169,9 @@ void Ads1115Detect(void)
for (uint8_t i = 0; i < sizeof(ads1115_addresses); i++) { for (uint8_t i = 0; i < sizeof(ads1115_addresses); i++) {
ads1115_address = ads1115_addresses[i]; ads1115_address = ads1115_addresses[i];
if (I2cValidRead16(&buffer, ads1115_address, ADS1115_REG_POINTER_CONVERT)) { if (I2cValidRead16(&buffer, ads1115_address, ADS1115_REG_POINTER_CONVERT) &&
I2cValidRead16(&conf_buffer, ads1115_address, ADS1115_REG_POINTER_CONFIG)) {
Ads1115StartComparator(i, ADS1115_REG_CONFIG_MODE_CONTIN); Ads1115StartComparator(i, ADS1115_REG_CONFIG_MODE_CONTIN);
ads1115_type = 1; ads1115_type = 1;
ads1115_found[i] = 1; ads1115_found[i] = 1;
@ -184,8 +187,8 @@ void Ads1115GetValues(uint8_t address) {
ads1115_address = address; ads1115_address = address;
for (uint8_t i = 0; i < 4; i++) { for (uint8_t i = 0; i < 4; i++) {
ads1115_values[i] = Ads1115GetConversion(i); ads1115_values[i] = Ads1115GetConversion(i);
snprintf_P(log_data, sizeof(log_data), "Logging ADS1115 %02x (%i) = %i", address, i, ads1115_values[i] ); //snprintf_P(log_data, sizeof(log_data), "Logging ADS1115 %02x (%i) = %i", address, i, ads1115_values[i] );
AddLog(LOG_LEVEL_INFO); //AddLog(LOG_LEVEL_INFO);
} }
ads1115_address = old_address; ads1115_address = old_address;
} }
@ -220,8 +223,8 @@ void Ads1115Show(bool json)
char *comma = (char*)""; char *comma = (char*)"";
for (uint8_t t = 0; t < sizeof(ads1115_addresses); t++) { for (uint8_t t = 0; t < sizeof(ads1115_addresses); t++) {
snprintf_P(log_data, sizeof(log_data), "Logging ADS1115 %02x", ads1115_addresses[t]); //snprintf_P(log_data, sizeof(log_data), "Logging ADS1115 %02x", ads1115_addresses[t]);
AddLog(LOG_LEVEL_INFO); //AddLog(LOG_LEVEL_INFO);
if (ads1115_found[t]) { if (ads1115_found[t]) {
Ads1115GetValues(ads1115_addresses[t]); Ads1115GetValues(ads1115_addresses[t]);
if (json) { if (json) {

View File

@ -65,8 +65,7 @@ void Tsl2561Detect(void)
{ {
if (tsl2561_type) { return; } if (tsl2561_type) { return; }
if (I2cDevice(0x29) || I2cDevice(0x39) || I2cDevice(0x49)) { if ((I2cDevice(0x29) || I2cDevice(0x39) || I2cDevice(0x49))&&Tsl.begin()) {
Tsl.begin();
if (Tsl.on()) { if (Tsl.on()) {
tsl2561_type = 1; tsl2561_type = 1;
snprintf_P(log_data, sizeof(log_data), S_LOG_I2C_FOUND_AT, tsl2561_types, Tsl.address()); snprintf_P(log_data, sizeof(log_data), S_LOG_I2C_FOUND_AT, tsl2561_types, Tsl.address());