Average statistical function
Hi, I am using the following to get the temp from an NTC
T = t1.past(MINUTE).average; THERMISTORNOMINAL = 10000; // temp. for nominal resistance (almost always 25 C) TEMPERATURENOMINAL = 25; // The beta coefficient of the thermistor (usually 3000-4000) BCOEFFICIENT = 3435; // the value of the 'other' resistor SERIESRESISTOR = 14910; average = 1023.00 / T - 1.00; average = SERIESRESISTOR / average; steinhart = average / THERMISTORNOMINAL; // (R/Ro) steinhart = Math.log(steinhart); // ln(R/Ro) steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro) steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To) steinhart = 1.0 / steinhart; // Invert steinhart -= 273.15; // convert to C return steinhart ;
Trouble is that when even for the past one hour where there is **NO **t1 value received, the average function still returns the average based on whatever was stored earlier. I was expecting that in case of no data, the average function based on time would return a NULL.
Any thoughts / suggestions ?