diff --git a/esp32/include/ControllerConfiguration.h b/esp32/include/ControllerConfiguration.h index d39d940..c1c0f48 100644 --- a/esp32/include/ControllerConfiguration.h +++ b/esp32/include/ControllerConfiguration.h @@ -80,7 +80,7 @@ /** \addtogroup Configuration * @{ */ -#define FIRMWARE_VERSION "2.7 HW0.10b" +#define FIRMWARE_VERSION "2.71 HW0.10b" #define TIMED_LIGHT_PIN CUSTOM1_PIN5 #define FLOWMETER_PIN CUSTOM1_PIN1 @@ -115,7 +115,7 @@ #define TEMPERATUR_TIMEOUT 3000 /**< 3 Seconds timeout for the temperatures sensors */ #define WATERSENSOR_TIMEOUT 3000 /**< 3 Seconds timeout for the water distance sensor */ -#define WATERSENSOR_CYCLE 5 /**< 5 sensor measurement are performed */ +#define WATERSENSOR_CYCLE 10 /**< 5 sensor measurement are performed */ #define DS18B20_RESOLUTION 9 /**< 9bit temperature resolution -> 0.5°C steps */ #define UTC_OFFSET_DE 3600 /* UTC offset in seconds for Germany */ diff --git a/esp32/include/LogDefines.h b/esp32/include/LogDefines.h index 78285f5..1873ec6 100644 --- a/esp32/include/LogDefines.h +++ b/esp32/include/LogDefines.h @@ -33,6 +33,9 @@ #define LOG_VERY_COLD_WATER "Water potentially frozen, ignoring pump request" #define LOG_VERY_COLD_WATER_CODE -7 +#define LOG_PUMP_FULLTANK_MESSAGE "Water Sensor distance unrealistic" +#define LOG_PUMP_FULLTANK_CODE 3 + //msg is dynamic defined #define LOG_PUMP_INEFFECTIVE -4 #define LOG_PUMP_STARTED_CODE 10 diff --git a/esp32/src/main.cpp b/esp32/src/main.cpp index 18751b9..4c2f5f0 100644 --- a/esp32/src/main.cpp +++ b/esp32/src/main.cpp @@ -51,7 +51,7 @@ extern "C" bool verifyRollbackLater(){ * DEFINES ******************************************************************************/ #define AMOUNT_SENOR_QUERYS 8 -#define MAX_TANK_DEPTH 2000 +#define MAX_TANK_DEPTH 5000 #define REBOOT_LOOP_DETECTION_ERROR 5 /****************************************************************************** @@ -85,7 +85,7 @@ int volatile selfTestPumpRun = -1; /** pump to run at the end of the cycle */ bool mConfigured = false; long nextBlink = 0; /**< Time needed in main loop to support expected blink code */ -RunningMedian waterRawSensor = RunningMedian(5); +RunningMedian waterRawSensor = RunningMedian(WATERSENSOR_CYCLE); float mSolarVoltage = 0.0f; /**< Voltage from solar panels */ float mBatteryVoltage = 0.0f; /**< Voltage from lipo */ unsigned long setupFinishedTimestamp; @@ -1146,6 +1146,10 @@ bool isLowLight = (mSolarVoltage <= SOLAR_CHARGE_MAX_VOLTAGE); { //surface of water is still nearer the sensor than required to cover the pumps hasWater = waterRawSensor.getAverage() < waterLevelMin.get(); + if (waterRawSensor.getAverage() > waterLevelMax.get()) { + log(LOG_LEVEL_ERROR, LOG_PUMP_FULLTANK_MESSAGE, LOG_PUMP_FULLTANK_CODE); + hasWater = true; + } } // FIXME no water warning message