diff --git a/include/ec.h b/include/ec.h index c94e238..5ab6a98 100644 --- a/include/ec.h +++ b/include/ec.h @@ -29,8 +29,7 @@ bool ec_flag_measurement_available=false; #define EC_RESOLUTION 8 #define EC_FREQUENCY 5000 -//#define EC_CALIB_ARRAY_SIZE 128 -#define EC_CALIB_ARRAY_SIZE 32 //temporarily changed +#define EC_CALIB_ARRAY_SIZE 128 uint16_t ec_calib_array[EC_CALIB_ARRAY_SIZE]; uint16_t ec_calib_array_pos=0; #define EC_CALIB_READ_INTERVAL 250 //interval of reading adc value inside a measurement @@ -39,7 +38,7 @@ uint16_t ec_calib_array_pos=0; uint16_t ec_array[EC_ARRAY_SIZE]; uint16_t ec_array_pos=EC_ARRAY_SIZE; unsigned long last_measurement_ec=0; -#define EC_MEASUREMENT_INTERVAL 10*60*1000 //complete filtered measurement every x ms +#define EC_MEASUREMENT_INTERVAL 10*60*1000 //complete filtered measurement every x ms //One filtered measurement takes EC_READ_INTERVAL*EC_ARRAY_SIZE*4 #define EC_READ_INTERVAL 10 //interval of reading adc value inside a measurement. one reading takes about 9-10ms diff --git a/src/main.cpp b/src/main.cpp index 9b85348..5185b8f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,9 +4,9 @@ #include "wifi_functions.h" -bool debug=false; //print Serial information -bool mqtt=false; -bool eccalibrationoutput=true; //serial output for ec calibration +bool debug=true; //print Serial information +bool mqtt=true; +bool eccalibrationoutput=false; //serial output for ec calibration /* Write to file with: sudo stty -F /dev/ttyUSB0 115200 cat /dev/ttyUSB0 | tee received.txt @@ -79,8 +79,8 @@ void setup() { Serial.println("Setup EC"); ec_setup(); - //Serial.println("Setup Waterlevel"); - //waterlevel_setup(); //temporarily disabled + Serial.println("Setup Waterlevel"); + waterlevel_setup(); //temporarily disabled Serial.println("Setup Temperature"); temperature_setup(); @@ -95,15 +95,18 @@ void setup() { delay(200); //Test adc to ec function output - /* - Serial.println(); - for (int i=750;i<14183;i+=100) { - float _ec=ec_getECfromADC(i); - Serial.print(i); Serial.print(","); Serial.print(_ec); Serial.println(); + if (eccalibrationoutput) { + Serial.println(); + Serial.print("adc"); Serial.print(","); Serial.print("ecA"); Serial.print(","); Serial.print("ecB"); Serial.println(); + for (int i=728;i<14000;i+=100) { + //float _ec=ec_getECfromADC(i); + float _ecA=ec_getECfromADC(i, ec_calibration_polynom_A, sizeof(ec_calibration_polynom_A), ec_calibration_linearize_below_adc_A, ec_calibration_linear_lowADC_A, ec_calibration_linear_lowEC_A); + float _ecB=ec_getECfromADC(i, ec_calibration_polynom_B, sizeof(ec_calibration_polynom_B), ec_calibration_linearize_below_adc_B, ec_calibration_linear_lowADC_B, ec_calibration_linear_lowEC_B); + Serial.print(i); Serial.print(","); Serial.print(_ecA); Serial.print(","); Serial.print(_ecB); Serial.println(); + } + delay(100000); } - - delay(100000); - */ + //Serial.println("time,tempReservoir,ECadcCalib,ECadc,ECadcAdjusted,EC,EC25"); @@ -120,7 +123,7 @@ void loop() { temperature_loop(loopmillis); - //waterlevel_loop(loopmillis); + waterlevel_loop(loopmillis); flow_loop(loopmillis);