Browse Source

revert running average

main
Hendrik Langer 7 years ago
parent
commit
337b801f43
  1. 20
      src/main.cpp

20
src/main.cpp

@ -91,6 +91,7 @@ Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
DHT dht(DHT22_PIN, DHTTYPE);
SDS011 sds;
volatile unsigned long geiger_counts = 0;
unsigned long geiger_previousMillis;
unsigned long last_wifi_activity = 0;
unsigned long last_dhcp = 0;
IPAddress ip, dns, gateway, subnet;
@ -169,8 +170,13 @@ void ICACHE_FLASH_ATTR sendValues() {
// sds.sleep();
sd.radioactivity = -1;
sd.cpm = geigeraverage.getAverage()*10;
if (millis() - geiger_previousMillis > 60000) {
sd.cpm = geiger_counts * 60000 / (millis() - geiger_previousMillis);
geiger_previousMillis = millis();
geiger_counts = 0;
geigeraverage.addValue(sd.cpm);
}
//geiger_runningaverage = geigeraverage.getAverage()*10;
float constexpr own_cpm = OWN_BACKGROUND_CPS * 60;
sd.radioactivity = (sd.cpm - own_cpm) * CONV_FACTOR;
@ -374,13 +380,6 @@ void ICACHE_RAM_ATTR ISR_geiger_impulse() {
geiger_counts++;
}
// will be called every 6 seconds
void timerCallback(void *pArg) {
//DEBUG_MSG("running average counts: %d average: %6.2f\n", geiger_counts, geigeraverage.getAverage());
geigeraverage.addValue(geiger_counts);
geiger_counts = 0;
}
void setup() {
#ifdef USERDEBUG
@ -404,9 +403,6 @@ void setup() {
attachInterrupt(digitalPinToInterrupt(GEIGER_PIN), ISR_geiger_impulse, FALLING);
geigeraverage.clear();
geigeraverage.addValue(2);
os_timer_setfn(&Timer1, timerCallback, NULL);
os_timer_arm(&Timer1, 6000, true);
DEBUG_MSG("ready.\n"); Serial.flush();
}

Loading…
Cancel
Save