change waterlevel publish timing for nft

This commit is contained in:
interfisch 2025-06-21 11:38:23 +02:00
parent 55549cbebe
commit 8bcea55458
2 changed files with 10 additions and 6 deletions

View file

@ -15,9 +15,9 @@
// +++++++++++++++ Common Parameters ++++++++++
#define READINTERVAL_WATERLEVEL 1000
#define WATERLEVELMEAN_SIZE 32
#define WATERLEVELMEAN_FILTER_CUTOFF 8 //max value is around WATERLEVELMEAN_SIZE/2
#define READINTERVAL_WATERLEVEL 2000
#define WATERLEVELMEAN_SIZE 64
#define WATERLEVELMEAN_FILTER_CUTOFF 24 //max value is around WATERLEVELMEAN_SIZE/2
#define WATERLEVEL_UNAVAILABLE -1 //-1 is also timeout value
@ -123,9 +123,9 @@ void waterlevel_setup() {
timing_waterlevel.minchange=0.0;
timing_waterlevel.maxchange=7.0;
timing_waterlevel.maxchange=20.0;
timing_waterlevel.mintime=60*1000;
timing_waterlevel.maxtime=60*60*1000;
timing_waterlevel.maxtime=6*60*60*1000;
for (uint16_t i=0;i<WATERLEVELMEAN_SIZE;i++) {
@ -182,7 +182,7 @@ void waterlevel_loop(unsigned long loopmillis) {
distance=tofsensor.readRangeSingleMillimeters(); //out of range =255
//Serial.print("Distance reading B="); Serial.print(distance);Serial.println();
Serial.print("Distance reading B="); Serial.print(distance);Serial.println();
if (distance!=DISTANCE_UNAVAILABLE) { //successful
@ -204,11 +204,13 @@ void waterlevel_loop(unsigned long loopmillis) {
if (isValueArrayOKf(waterlevelMean_array,WATERLEVELMEAN_SIZE,WATERLEVEL_UNAVAILABLE)){
float _filteredDistance=getFilteredf(waterlevelMean_array,WATERLEVELMEAN_SIZE,WATERLEVELMEAN_FILTER_CUTOFF);
Serial.print("_filteredDistance ="); Serial.print(_filteredDistance);Serial.println();
//Invert distance and offset
waterlevel=constrain(waterlevel_calib_offset+waterlevel_calib_factor*_filteredDistance,0,1000);
watervolume=waterlevel_heightToVolume(waterlevel);
//Serial.print("Filtered reading B="); Serial.print(_filteredDistance); Serial.print(" fixed="); Serial.println(waterlevelB); Serial.println();

View file

@ -1,6 +1,8 @@
#include <Arduino.h>
#include <Wire.h>
// ESP32-S3 Devkit M-1 Left USB-C: Program, Right USB-C Serial
bool valueError=false;
unsigned long last_check=0;