Index: firmware/App/Monitors/Conductivity.c =================================================================== diff -u -rfc6a157a48debd4ee8c2fb8dec8af21f5b07abe2 -r67d2fdfc9ec326b98b5a0ac2dbfcee283c8791af --- firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision fc6a157a48debd4ee8c2fb8dec8af21f5b07abe2) +++ firmware/App/Monitors/Conductivity.c (.../Conductivity.c) (revision 67d2fdfc9ec326b98b5a0ac2dbfcee283c8791af) @@ -41,7 +41,7 @@ #define RO_DATA_PUBLISH_COUNTER_START_COUNT 42 ///< FP RO Data publish counter start count. #define RESISTANCE_DATA_PUBLISH_COUNTER_START_COUNT 43 ///< DD Resistance data publish counter start count. #define CONDUCTIVITY_MAX_FILTER_SIZE_MULTIPLIER ( 252 ) ///< Maximum conductivity filter sample count (At 50qd, we switch once for every 36sec, so 36 * FILTER_SIZE_MULTIPLIER = 252). -#define CONDUCTIVITY_TEMP_SAMPLE_FILTER_MS ( 30 ) ///< Filter conductivity temperature data for given time. Currently set to have 5 samples over 3.5s ( 700ms sample rate ) +#define CONDUCTIVITY_TEMP_SAMPLE_FILTER_MS ( 3 * TASK_PRIORITY_INTERVAL ) ///< Conductivity temperature filter scale (ms). Rolling avg size = FILTER_MS / TASK_PRIORITY_INTERVAL = 3 samples (3 * TASK_PRIORITY_INTERVAL(10) = 30). At 700 ms sensor update rate, 3 * 700 ms ≈ 2.1 s window. #define FILTER_SIZE_MULTIPLIER ( 7 ) ///< Conductivity filter size multiplier. #define SIZE_OF_COND_TEMP_ROLLING_AVG ( CONDUCTIVITY_TEMP_SAMPLE_FILTER_MS / TASK_PRIORITY_INTERVAL ) ///< Filtered conductivity temprature moving average sample count. #define RO_RR_MOVING_AVG_NUM_OF_SAMPLES 30 ///< RO rejection ratio moving average number of samples.