From 2aa74664ec3f248123be8aa92cf2dd3ffa0dca30 Mon Sep 17 00:00:00 2001 From: Eda Frank Date: Thu, 15 Mar 2018 11:13:03 +0100 Subject: [PATCH] SensorBosch - fixed forecast propagation and i2c address detection (#326) --- NodeManagerLibrary.h | 2 +- NodeManagerLibrary.ino | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NodeManagerLibrary.h b/NodeManagerLibrary.h index 474372aa..08c43584 100644 --- a/NodeManagerLibrary.h +++ b/NodeManagerLibrary.h @@ -1098,7 +1098,7 @@ class SensorBosch: public Sensor { void setForecastSamplesCount(int value); // define what to do at each stage of the sketch void onReceive(MyMessage* message); - static uint8_t GetI2CAddress(uint8_t chip_id); + uint8_t GetI2CAddress(uint8_t chip_id); protected: char* _weather[6] = { "stable", "sunny", "cloudy", "unstable", "thunderstorm", "unknown" }; int _forecast_samples_count = 5; diff --git a/NodeManagerLibrary.ino b/NodeManagerLibrary.ino index ef51a0a1..8f0527ee 100644 --- a/NodeManagerLibrary.ino +++ b/NodeManagerLibrary.ino @@ -1974,7 +1974,7 @@ float SensorBosch::_getLastPressureSamplesAverage() { uint8_t SensorBosch::GetI2CAddress(uint8_t chip_id) { uint8_t addresses[] = {0x77, 0x76}; uint8_t register_address = 0xD0; - for (int i = 0; i <= sizeof(addresses); i++) { + for (int i = 0; i < sizeof(addresses); i++) { uint8_t i2c_address = addresses[i]; uint8_t value; Wire.beginTransmission((uint8_t)i2c_address); @@ -2065,7 +2065,7 @@ void SensorBME280::onLoop(Child* child) { // Forecast Sensor else if (child->type == V_FORECAST) { float pressure = _bm->readPressure() / 100.0F; - _forecast(pressure); + ((ChildString*)child)->setValueString(_forecast(pressure)); } } #endif @@ -2128,7 +2128,7 @@ void SensorBMP085::onLoop(Child* child) { // Forecast Sensor else if (child->type == V_FORECAST) { float pressure = _bm->readPressure() / 100.0F; - _forecast(pressure); + ((ChildString*)child)->setValueString(_forecast(pressure)); } } #endif @@ -2190,7 +2190,7 @@ void SensorBMP280::onLoop(Child* child) { // Forecast Sensor else if (child->type == V_FORECAST) { float pressure = _bm->readPressure() / 100.0F; - _forecast(pressure); + ((ChildString*)child)->setValueString(_forecast(pressure)); } } #endif