Revert "remember which devices were scanned on which bus and set them accordingly." - this is not working at all.

This commit is contained in:
Thomas Göttgens
2022-11-13 14:56:52 +01:00
parent 037d6c253b
commit 6a696af8f6
23 changed files with 117 additions and 191 deletions

View File

@@ -5,7 +5,6 @@
#include "NodeDB.h"
#include "MeshService.h"
#include "PowerFSM.h" // neede for button bypass
#include "main.h"
#include "mesh/generated/cannedmessages.pb.h"
#ifdef OLED_RU
@@ -36,6 +35,8 @@
// Remove Canned message screen if no action is taken for some milliseconds
#define INACTIVATE_AFTER_MS 20000
extern uint8_t cardkb_found;
static const char *cannedMessagesConfigFile = "/prefs/cannedConf.proto";
CannedMessageModuleConfig cannedMessageModuleConfig;
@@ -52,7 +53,7 @@ CannedMessageModule::CannedMessageModule()
{
if (moduleConfig.canned_message.enabled) {
this->loadProtoForModule();
if ((this->splitConfiguredMessages() <= 0) && (i2cScanMap[CARDKB_ADDR].addr != CARDKB_ADDR)) {
if ((this->splitConfiguredMessages() <= 0) && (cardkb_found != CARDKB_ADDR)) {
DEBUG_MSG("CannedMessageModule: No messages are configured. Module is disabled\n");
this->runState = CANNED_MESSAGE_RUN_STATE_DISABLED;
} else {

View File

@@ -15,14 +15,8 @@ int32_t BME280Sensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
status = bme280.begin(nodeTelemetrySensorsMap[sensorType], &Wire1);
#endif
} else {
status = bme280.begin(nodeTelemetrySensorsMap[sensorType], &Wire);
}
status = bme280.begin(nodeTelemetrySensorsMap[sensorType]);
bme280.setSampling( Adafruit_BME280::MODE_FORCED,
Adafruit_BME280::SAMPLING_X1, // Temp. oversampling
Adafruit_BME280::SAMPLING_X1, // Pressure oversampling

View File

@@ -14,13 +14,6 @@ int32_t BME680Sensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
bme680 = Adafruit_BME680(&Wire1);
#endif
} else {
bme680 = Adafruit_BME680(&Wire);
}
status = bme680.begin(nodeTelemetrySensorsMap[sensorType]);
return initI2CSensor();

View File

@@ -15,14 +15,6 @@ int32_t BMP280Sensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
bmp280 = Adafruit_BMP280(&Wire1);
#endif
} else {
bmp280 = Adafruit_BMP280(&Wire);
}
status = bmp280.begin(nodeTelemetrySensorsMap[sensorType]);
bmp280.setSampling( Adafruit_BMP280::MODE_FORCED,

View File

@@ -15,13 +15,7 @@ int32_t INA219Sensor::runOnce() {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
ina219 = Adafruit_INA219(nodeTelemetrySensorsMap[sensorType]);
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
status = ina219.begin(&Wire1);
#endif
} else {
status = ina219.begin(&Wire);
}
status = ina219.begin();
return initI2CSensor();
}

View File

@@ -14,13 +14,7 @@ int32_t INA260Sensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
status = ina260.begin(nodeTelemetrySensorsMap[sensorType], &Wire1);
#endif
} else {
status = ina260.begin(nodeTelemetrySensorsMap[sensorType], &Wire);
}
status = ina260.begin(nodeTelemetrySensorsMap[sensorType]);
return initI2CSensor();
}

View File

@@ -15,13 +15,7 @@ int32_t LPS22HBSensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
status = lps22hb.begin_I2C(nodeTelemetrySensorsMap[sensorType], &Wire1);
#endif
} else {
status = lps22hb.begin_I2C(nodeTelemetrySensorsMap[sensorType], &Wire);
}
status = lps22hb.begin_I2C(nodeTelemetrySensorsMap[sensorType]);
return initI2CSensor();
}

View File

@@ -14,13 +14,7 @@ int32_t MCP9808Sensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
status = mcp9808.begin(nodeTelemetrySensorsMap[sensorType], &Wire1);
#endif
} else {
status = mcp9808.begin(nodeTelemetrySensorsMap[sensorType], &Wire);
}
status = mcp9808.begin(nodeTelemetrySensorsMap[sensorType]);
return initI2CSensor();
}

View File

@@ -14,18 +14,7 @@ int32_t SHTC3Sensor::runOnce() {
if (!hasSensor()) {
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if (i2cScanMap[nodeTelemetrySensorsMap[sensorType]].addr == 0) {
DEBUG_MSG("SHTC3 not found on i2c bus\n");
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;
}
if(i2cScanMap[nodeTelemetrySensorsMap[sensorType]].bus == 1) {
#ifdef I2C_SDA1
status = shtc3.begin(&Wire1);
#endif
} else {
status = shtc3.begin(&Wire);
}
status = shtc3.begin();
return initI2CSensor();
}

View File

@@ -24,7 +24,7 @@ class TelemetrySensor
DEBUG_MSG("Could not connect to detected %s sensor.\n Removing from nodeTelemetrySensorsMap.\n", sensorName);
nodeTelemetrySensorsMap[sensorType] = 0;
} else {
DEBUG_MSG("Opened %s sensor on detected i2c bus\n", sensorName);
DEBUG_MSG("Opened %s sensor on default i2c bus\n", sensorName);
setup();
}
return DEFAULT_SENSOR_MINIMUM_WAIT_TIME_BETWEEN_READS;