diff --git a/oil_sensor/include/SonarSensor.h b/oil_sensor/include/SonarSensor.h index 4e12a94..e7ce3ba 100644 --- a/oil_sensor/include/SonarSensor.h +++ b/oil_sensor/include/SonarSensor.h @@ -13,7 +13,7 @@ class SonarSensor : public GenericSensor { public: SonarSensor(short id) : GenericSensor(id) {} - unsigned long scan() { - return sonar.ping_median(); + unsigned int scan() { + return sonar.convert_cm(sonar.ping_median()); } }; diff --git a/oil_sensor/src/oil_sensor.cpp b/oil_sensor/src/oil_sensor.cpp index 1992b6c..1e30a50 100644 --- a/oil_sensor/src/oil_sensor.cpp +++ b/oil_sensor/src/oil_sensor.cpp @@ -15,6 +15,7 @@ volatile bool shouldSend = true; void setup() { TinySwitch::setup(SENDER); + delay(10000); TinyPower::setup(); TinyPower::enableWdt(WDTO_8S); } @@ -22,13 +23,12 @@ void setup() { void loop() { if (shouldSend) { shouldSend = false; - unsigned long distance = oilSensor.scan(); + unsigned int distance = oilSensor.scan(); if (distance) { - if (counter % SEND_VCC_INTERVAL == 0) { - oilSensor.sendValueAndVoltage(distance); - counter = 0; - } else { + if (counter) { oilSensor.sendValue(distance); + } else { + oilSensor.sendValueAndVoltage(distance); } } } @@ -37,7 +37,10 @@ void loop() { ISR(WDT_vect) { counter++; - if (((counter + 1) % SEND_INTERVAL == 0) || ((counter + 1) % SEND_VCC_INTERVAL == 0)) { + if ((counter % SEND_INTERVAL == 0)) { shouldSend = true; + if ((counter % SEND_VCC_INTERVAL == 0)) { + counter = 0; + } } }