From e66b8ccdd50332921e0b9680769b8236f1b7ffd7 Mon Sep 17 00:00:00 2001 From: Maurice Makaay Date: Thu, 9 Jul 2020 21:09:46 +0200 Subject: [PATCH] Code formatting and structuring the project. --- Schematics.fzz | Bin 30476 -> 29926 bytes Schematics.png | Bin 0 -> 338370 bytes src/Data/DataController.cpp | 242 ++++++++++++++++ src/Data/DataController.h | 71 +++++ src/Data/Measurement.cpp | 19 ++ src/Data/Measurement.h | 18 ++ src/Data/Measurements.cpp | 67 +++++ src/Data/Measurements.h | 28 ++ src/DoughButton.h | 42 --- src/DoughData.cpp | 274 ------------------ src/DoughData.h | 98 ------- src/DoughLED.h | 53 ---- src/DoughMQTT.h | 39 --- src/DoughNetwork.h | 26 -- src/DoughUI.cpp | 198 ------------- src/DoughUI.h | 46 --- src/{ => Network}/DoughMQTT.cpp | 77 +++-- src/Network/DoughMQTT.h | 40 +++ .../DoughWiFi.cpp} | 57 ++-- src/Network/DoughWiFi.h | 27 ++ src/{ => Sensors}/DoughSensors.cpp | 35 +-- src/{ => Sensors}/DoughSensors.h | 18 +- src/{ => Sensors}/HCSR04.cpp | 3 +- src/{ => Sensors}/HCSR04.h | 1 - src/{ => UI}/DoughButton.cpp | 80 +++-- src/UI/DoughButton.h | 44 +++ src/{ => UI}/DoughLED.cpp | 99 ++++--- src/UI/DoughLED.h | 54 ++++ src/UI/DoughUI.cpp | 231 +++++++++++++++ src/UI/DoughUI.h | 47 +++ src/config.h | 18 +- src/config_local.example.h | 12 +- src/{DoughBoy.cpp => main.cpp} | 111 ++++--- src/{DoughBoy.h => main.h} | 18 +- 34 files changed, 1205 insertions(+), 988 deletions(-) create mode 100644 Schematics.png create mode 100644 src/Data/DataController.cpp create mode 100644 src/Data/DataController.h create mode 100644 src/Data/Measurement.cpp create mode 100644 src/Data/Measurement.h create mode 100644 src/Data/Measurements.cpp create mode 100644 src/Data/Measurements.h delete mode 100644 src/DoughButton.h delete mode 100644 src/DoughData.cpp delete mode 100644 src/DoughData.h delete mode 100644 src/DoughLED.h delete mode 100644 src/DoughMQTT.h delete mode 100644 src/DoughNetwork.h delete mode 100644 src/DoughUI.cpp delete mode 100644 src/DoughUI.h rename src/{ => Network}/DoughMQTT.cpp (57%) create mode 100644 src/Network/DoughMQTT.h rename src/{DoughNetwork.cpp => Network/DoughWiFi.cpp} (69%) create mode 100644 src/Network/DoughWiFi.h rename src/{ => Sensors}/DoughSensors.cpp (66%) rename src/{ => Sensors}/DoughSensors.h (50%) rename src/{ => Sensors}/HCSR04.cpp (96%) rename src/{ => Sensors}/HCSR04.h (98%) rename src/{ => UI}/DoughButton.cpp (67%) create mode 100644 src/UI/DoughButton.h rename src/{ => UI}/DoughLED.cpp (62%) create mode 100644 src/UI/DoughLED.h create mode 100644 src/UI/DoughUI.cpp create mode 100644 src/UI/DoughUI.h rename src/{DoughBoy.cpp => main.cpp} (70%) rename src/{DoughBoy.h => main.h} (70%) diff --git a/Schematics.fzz b/Schematics.fzz index 164e260da27c90c7a805e40eb06dd2eca4de447f..851a6b1436f18165bdc2cf52f505fc2f240709ac 100644 GIT binary patch literal 29926 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

>@~nIMJmGe*kaG*bq5YkmcUyN);?Jm3+B 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 diff --git a/Schematics.png b/Schematics.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4ac57f07c2c04b3d804b5729c78ce7667b5512 GIT binary patch literal 338370 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%0DJY$A%CQFb_v1NK;YK{=fD&m86XPBn0b3Q)BuHu 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�(p}< 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

f!yWdFbGs!93u~7LR0JgFTW&<0NOu9W8)kxhJ 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 Sr~IDq=Shmmh!zU#eEx3v>R literal 0 HcmV?d00001 diff --git a/src/Data/DataController.cpp b/src/Data/DataController.cpp new file mode 100644 index 0000000..a24e1df --- /dev/null +++ b/src/Data/DataController.cpp @@ -0,0 +1,242 @@ +#include "Data/DataController.h" +#include "Data/Measurements.h" + +// ---------------------------------------------------------------------- +// Constructor +// ---------------------------------------------------------------------- + +DataController *DataController::_instance = nullptr; + +/** + * Fetch the DoughData singleton. + */ +DataController *DataController::Instance() +{ + if (DataController::_instance == nullptr) + { + DataController::_instance = new DataController(); + } + return DataController::_instance; +} + +DataController::DataController() : _temperatureMeasurements(TEMPERATURE_AVG_LOOKBACK), + _humidityMeasurements(HUMIDITY_AVG_LOOKBACK), + _distanceMeasurements(DISTANCE_AVG_LOOKBACK) {} + +// ---------------------------------------------------------------------- +// Setup +// ---------------------------------------------------------------------- + +void DataController::setup() +{ + _containerHeight = 0.00; + _containerHeightSet = false; + + DoughMQTT *mqtt = DoughMQTT::Instance(); + mqtt->onConnect(DataController::handleMqttConnect); + mqtt->onMessage(DataController::handleMqttMessage); +} + +void DataController::handleMqttConnect(DoughMQTT *mqtt) +{ + mqtt->subscribe("container_height"); +} + +void DataController::handleMqttMessage(String &key, String &payload) +{ + if (key.equals("container_height")) + { + DataController::Instance()->setContainerHeight(payload.toInt()); + } + else + { + DoughUI::Instance()->log("DATA", "sS", "ERROR - Unhandled MQTT message, key = ", key); + } +} + +/** + * Check if configuration has been taken care of. Some configuration is + * required before measurements can be processed. + */ +bool DataController::isConfigured() +{ + return _containerHeightSet; +} + +/** + * Set the container height in mm. This is the distance between the sensor + * and the bottom of the container. It is used to determine the height of + * the starter or dough by subtracting the distance measurement from it. + */ +void DataController::setContainerHeight(int height) +{ + _containerHeightSet = false; + if (height <= HCSR04_MIN_MM) + { + DoughUI::Instance()->log("DATA", "sisis", + "ERROR - Container height ", height, + "mm is less than the minimum measuring distance of ", + HCSR04_MIN_MM, "mm"); + return; + } + if (height >= HCSR04_MAX_MM) + { + DoughUI::Instance()->log("DATA", "sisis", + "ERROR - Container height ", height, + "mm is more than the maximum measuring distance of ", + HCSR04_MAX_MM, "mm"); + return; + } + DoughUI::Instance()->log("DATA", "sis", "Set container height to ", height, "mm"); + _containerHeight = height; + _containerHeightSet = true; +} + +// ---------------------------------------------------------------------- +// Loop +// ---------------------------------------------------------------------- + +void DataController::loop() +{ + if (isConfigured()) + { + _sample(); + _publish(); + } +} + +void DataController::clearHistory() +{ + _temperatureMeasurements.clearHistory(); + _humidityMeasurements.clearHistory(); + _distanceMeasurements.clearHistory(); + _sampleType = SAMPLE_TEMPERATURE; + _sampleCounter = 0; +} + +void DataController::_sample() +{ + auto now = millis(); + auto delta = now - _lastSample; + auto tick = _lastSample == 0 || delta >= SAMPLE_INTERVAL; + + if (tick) + { + DoughUI *ui = DoughUI::Instance(); + _lastSample = now; + DoughSensors *sensors = DoughSensors::Instance(); + + // Quickly dip the LED to indicate that a measurement is started. + // This is done synchroneously, because we suspend the timer interrupts + // in the upcoming code. + ui->led3.off(); + delay(50); + ui->led3.on(); + + // Suspend the UI timer interrupts, to not let these interfere + // with the sensor measurements. + ui->suspend(); + + // Take a sample. + switch (_sampleType) + { + case SAMPLE_TEMPERATURE: + _temperatureMeasurements.add(sensors->readTemperature()); + _sampleType = SAMPLE_HUMIDITY; + break; + case SAMPLE_HUMIDITY: + _humidityMeasurements.add(sensors->readHumidity()); + _sampleType = SAMPLE_DISTANCE; + break; + case SAMPLE_DISTANCE: + _distanceMeasurements.add(sensors->readDistance()); + break; + } + + ui->resume(); + + _sampleCounter++; + if (_sampleCounter == SAMPLE_CYCLE_LENGTH) + { + _sampleCounter = 0; + _sampleType = SAMPLE_TEMPERATURE; + } + } +} + +void DataController::_publish() +{ + static unsigned long lastSample = 0; + if (lastSample == 0 || millis() - lastSample > PUBLISH_INTERVAL) + { + lastSample = millis(); + + DoughUI *ui = DoughUI::Instance(); + DoughMQTT *mqtt = DoughMQTT::Instance(); + + ui->log("DATA", "s", "Publish temperature"); + auto m = _temperatureMeasurements.getLast(); + if (m->ok) + { + mqtt->publish("temperature", m->value); + } + else + { + mqtt->publish("temperature", "null"); + } + + ui->log("DATA", "s", "Publish temperature average"); + m = _temperatureMeasurements.getAverage(); + if (m->ok) + { + mqtt->publish("temperature/average", m->value); + } + else + { + mqtt->publish("temperature/average", "null"); + } + + ui->log("DATA", "s", "Publish humidity"); + m = _humidityMeasurements.getLast(); + if (m->ok) + { + mqtt->publish("humidity", m->value); + } + else + { + mqtt->publish("humidity", "null"); + } + + m = _humidityMeasurements.getAverage(); + if (m->ok) + { + mqtt->publish("humidity/average", m->value); + } + else + { + mqtt->publish("humidity/average", "null"); + } + + m = _distanceMeasurements.getLast(); + if (m->ok) + { + mqtt->publish("distance", m->value); + } + else + { + mqtt->publish("distance", "null"); + } + + m = _distanceMeasurements.getAverage(); + if (m->ok) + { + mqtt->publish("distance/average", m->value); + } + else + { + mqtt->publish("distance/average", "null"); + } + + ui->led1.dip()->fast(); + } +} diff --git a/src/Data/DataController.h b/src/Data/DataController.h new file mode 100644 index 0000000..05eb4ff --- /dev/null +++ b/src/Data/DataController.h @@ -0,0 +1,71 @@ +#ifndef DOUGH_DATA_DATACONTROLLER_H +#define DOUGH_DATA_DATACONTROLLER_H + +// These definitions describes what measurements are performed in sequence. +// One measurement is done every SAMPLE_INTERVAL microseconds. +// We always start with a temperature measurement, then a humidity measurement, +// and finally a number of distance measurements. +// The SAMPLE_CYCLE_LENGTH defines the total number of samples in this sequence. +#define SAMPLE_INTERVAL 1000 +#define SAMPLE_CYCLE_LENGTH 30 // 1 temperature + 1 humidity + 28 distance samples + +// Two different values are published per sensor: a recent value and an average +// value. These definition define the number of measurements to include in the +// average computation. +#define TEMPERATURE_AVG_LOOKBACK 10 // making this a 5 minute average +#define HUMIDITY_AVG_LOOKBACK 10 // making this a 5 minute average +#define DISTANCE_AVG_LOOKBACK 28 * 2 * 5 // making this a 5 minute average + +// The minimal interval at which to publish measurements to the MQTT broker. +// When significant changes occur in the measurements, then these will be published +// to the MQTT broker at all times, independent from this interval. +#define PUBLISH_INTERVAL 4000 + +#include +#include "Data/Measurements.h" +#include "Sensors/DoughSensors.h" +#include "Network/DoughWiFi.h" +#include "Network/DoughMQTT.h" +#include "UI/DoughUI.h" + +typedef enum +{ + SAMPLE_TEMPERATURE, + SAMPLE_HUMIDITY, + SAMPLE_DISTANCE +} DoughSampleType; + +/** + * The DoughData class is responsible for holding the device configuration, + * collecting measurements from sensors, gathering the statistics on these data, + * and publishing results to the MQTT broker. + */ +class DataController +{ +public: + static DataController *Instance(); + void setup(); + void loop(); + void clearHistory(); + void setContainerHeight(int height); + bool isConfigured(); + static void handleMqttConnect(DoughMQTT *mqtt); + static void handleMqttMessage(String &key, String &value); + +private: + DataController(); + static DataController *_instance; + DoughSensors *_sensors; + unsigned long _lastSample = 0; + DoughSampleType _sampleType = SAMPLE_TEMPERATURE; + int _sampleCounter = 0; + int _containerHeight; + bool _containerHeightSet; + void _sample(); + void _publish(); + Measurements _temperatureMeasurements; + Measurements _humidityMeasurements; + Measurements _distanceMeasurements; +}; + +#endif diff --git a/src/Data/Measurement.cpp b/src/Data/Measurement.cpp new file mode 100644 index 0000000..701abba --- /dev/null +++ b/src/Data/Measurement.cpp @@ -0,0 +1,19 @@ +#include "Data/Measurement.h" + +Measurement::Measurement() {} + +Measurement::Measurement(bool ok, int value) +{ + this->ok = ok; + this->value = value; +} + +Measurement *Measurement::Failed() +{ + return new Measurement(false, 0); +} + +Measurement *Measurement::Ok(int value) +{ + return new Measurement(true, value); +} \ No newline at end of file diff --git a/src/Data/Measurement.h b/src/Data/Measurement.h new file mode 100644 index 0000000..44738ed --- /dev/null +++ b/src/Data/Measurement.h @@ -0,0 +1,18 @@ +#ifndef DOUGH_DATA_MEASUREMENT_H +#define DOUGH_DATA_MEASUREMENT_H + +/** + * The DoughDataMeasurement class represents a single measurement. + */ +class Measurement +{ +public: + Measurement(); + Measurement(bool ok, int value); + int value = 0; + bool ok = false; + static Measurement *Failed(); + static Measurement *Ok(int value); +}; + +#endif diff --git a/src/Data/Measurements.cpp b/src/Data/Measurements.cpp new file mode 100644 index 0000000..c2021a9 --- /dev/null +++ b/src/Data/Measurements.cpp @@ -0,0 +1,67 @@ +#include "Data/DataController.h" +#include "Data/Measurement.h" + +typedef Measurement *MeasurementPtr; + +Measurements::Measurements(unsigned int avgLookback) +{ + _storageSize = avgLookback; + _storage = new MeasurementPtr[avgLookback]; + for (unsigned int i = 0; i < avgLookback; i++) + { + _storage[i] = nullptr; + } +} + +void Measurements::add(Measurement *measurement) +{ + auto index = _next(); + _storage[index] = measurement; + if (measurement->ok) + { + _averageCount++; + _averageSum += measurement->value; + } +} + +unsigned int Measurements::_next() +{ + _index++; + if (_index == _storageSize) + { + _index = 0; + } + if (_storage[_index] != nullptr && _storage[_index]->ok) + { + _averageSum -= _storage[_index]->value; + _averageCount--; + } + return _index; +} + +Measurement *Measurements::getLast() +{ + return _storage[_index]; +} + +Measurement *Measurements::getAverage() +{ + auto result = new Measurement(); + if (_averageCount > 0) + { + result->ok = true; + result->value = round(_averageSum / _averageCount); + } + return result; +} + +void Measurements::clearHistory() +{ + _averageCount = 0; + _averageSum = 0; + for (unsigned int i = 0; i < _storageSize; i++) + { + _storage[i]->ok = false; + _storage[i]->value = 0; + } +} diff --git a/src/Data/Measurements.h b/src/Data/Measurements.h new file mode 100644 index 0000000..a32d9ff --- /dev/null +++ b/src/Data/Measurements.h @@ -0,0 +1,28 @@ +#ifndef DOUGH_DATA_MEASUREMENTS_H +#define DOUGH_DATA_MEASUREMENTS_H + +#include "Data/Measurement.h" + +/** + * The DoughDataMeasurements class is used to store measurements for a sensor + * and to keep track of running totals for handling average computations. + */ +class Measurements +{ +public: + Measurements(unsigned int avgLookback); + void add(Measurement *measurement); + Measurement *getLast(); + Measurement *getAverage(); + void clearHistory(); + +private: + Measurement **_storage; + unsigned int _storageSize; + int _averageSum = 0; + unsigned int _averageCount = 0; + unsigned int _index = 0; + unsigned int _next(); +}; + +#endif diff --git a/src/DoughButton.h b/src/DoughButton.h deleted file mode 100644 index fa28adc..0000000 --- a/src/DoughButton.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef DOUGH_BUTTON_H -#define DOUGH_BUTTON_H - -#define BUTTON_DEBOUNCE_DELAY 50 -#define BUTTON_LONGPRESS_DELAY 1000 - -#include -#include "config.h" - -typedef enum { - UP, - DOWN, - DOWN_LONG, - UP_AFTER_LONG, - UP_AFTER_SHORT, - READY_FOR_NEXT_PRESS -} DoughButtonState; - -typedef void (*DoughButtonHandler)(); - -class DoughButton { - public: - DoughButton(int pin); - void setup(); - void loop(); - void onInterrupt(DoughButtonHandler isr); - void onPress(DoughButtonHandler handler); - void onShortPress(DoughButtonHandler handler); - void onLongPress(DoughButtonHandler handler); - void clearEvents(); - void handleButtonState(); - private: - int _pin; - DoughButtonHandler _pressHandler = nullptr; - DoughButtonHandler _shortPressHandler = nullptr; - DoughButtonHandler _longPressHandler = nullptr; - bool _debounceState = false; - unsigned long _debounceTimer = 0; - DoughButtonState _state = UP; -}; - -#endif diff --git a/src/DoughData.cpp b/src/DoughData.cpp deleted file mode 100644 index 0fb7c97..0000000 --- a/src/DoughData.cpp +++ /dev/null @@ -1,274 +0,0 @@ -#include "DoughData.h" - -// ---------------------------------------------------------------------- -// Constructor -// ---------------------------------------------------------------------- - -DoughData* DoughData::_instance = nullptr; - -/** - * Fetch the DoughData singleton. - */ -DoughData* DoughData::Instance() { - if (DoughData::_instance == nullptr) { - DoughData::_instance = new DoughData(); - } - return DoughData::_instance; -} - -DoughData::DoughData() : _temperatureMeasurements(TEMPERATURE_AVG_LOOKBACK), - _humidityMeasurements(HUMIDITY_AVG_LOOKBACK), - _distanceMeasurements(DISTANCE_AVG_LOOKBACK) {} - -// ---------------------------------------------------------------------- -// Measurements storage -// ---------------------------------------------------------------------- - -DoughDataMeasurements::DoughDataMeasurements(int avgLookback) { - _storageSize = avgLookback; - _storage = new DoughDataMeasurement[avgLookback]; - for (int i = 0; i < avgLookback; i++) { - _storage[i] = DoughDataMeasurement(); - } -} - -void DoughDataMeasurements::registerValue(int value) { - auto measurement = _next(); - _averageCount++; - _averageSum += value; - measurement->ok = true; - measurement->value = value; -} - -void DoughDataMeasurements::registerFailed() { - auto measurement = _next(); - measurement->ok = false; - measurement->value = 0; -} - -DoughDataMeasurement* DoughDataMeasurements::_next() { - _index++; - if (_index == _storageSize) { - _index = 0; - } - if (_storage[_index].ok) { - _averageSum -= _storage[_index].value; - _averageCount--; - } - return &(_storage[_index]); -} - -DoughDataMeasurement DoughDataMeasurements::getLast() { - return _storage[_index]; -} - -DoughDataMeasurement DoughDataMeasurements::getAverage() { - DoughDataMeasurement result; - if (_averageCount > 0) { - result.ok = true; - result.value = round(_averageSum / _averageCount); - } - return result; -} - -void DoughDataMeasurements::clearHistory() { - _averageCount = 0; - _averageSum = 0; - for (unsigned int i = 0; i < _storageSize; i++) { - _storage[i].ok = false; - _storage[i].value = 0; - } -} - -// ---------------------------------------------------------------------- -// Setup -// ---------------------------------------------------------------------- - -void DoughData::setup() { - _containerHeight = 0.00; - _containerHeightSet = false; - - DoughMQTT *mqtt = DoughMQTT::Instance(); - mqtt->onConnect(DoughData::handleMqttConnect); - mqtt->onMessage(DoughData::handleMqttMessage); -} - -void DoughData::handleMqttConnect(DoughMQTT* mqtt) { - mqtt->subscribe("container_height"); -} - -void DoughData::handleMqttMessage(String &key, String &payload) { - if (key.equals("container_height")) { - DoughData::Instance()->setContainerHeight(payload.toInt()); - } else { - DoughUI::Instance()->log("DATA", "sS", "ERROR - Unhandled MQTT message, key = ", key); - } -} - -/** - * Check if configuration has been taken care of. Some configuration is - * required before measurements can be processed. - */ -bool DoughData::isConfigured() { - return _containerHeightSet; -} - -/** - * Set the container height in mm. This is the distance between the sensor - * and the bottom of the container. It is used to determine the height of - * the starter or dough by subtracting the distance measurement from it. - */ -void DoughData::setContainerHeight(int height) { - _containerHeightSet = false; - if (height <= HCSR04_MIN_MM) { - DoughUI::Instance()->log("DATA", "sisis", - "ERROR - Container height ", height, - "mm is less than the minimum measuring distance of ", - HCSR04_MIN_MM, "mm"); - return; - } - if (height >= HCSR04_MAX_MM) { - DoughUI::Instance()->log("DATA", "sisis", - "ERROR - Container height ", height, - "mm is more than the maximum measuring distance of ", - HCSR04_MAX_MM, "mm"); - return; - } - DoughUI::Instance()->log("DATA", "sis", "Set container height to ", height, "mm"); - _containerHeight = height; - _containerHeightSet = true; -} - -// ---------------------------------------------------------------------- -// Loop -// ---------------------------------------------------------------------- - -void DoughData::loop() { - if (isConfigured()) { - _sample(); - _publish(); - } -} - -void DoughData::clearHistory() { - _temperatureMeasurements.clearHistory(); - _humidityMeasurements.clearHistory(); - _distanceMeasurements.clearHistory(); - _sampleType = SAMPLE_TEMPERATURE; - _sampleCounter = 0; -} - -void DoughData::_sample() { - auto now = millis(); - auto delta = now - _lastSample; - auto tick = _lastSample == 0 || delta >= SAMPLE_INTERVAL; - - if (tick) { - _lastSample = now; - DoughUI* ui = DoughUI::Instance(); - DoughSensors* sensors = DoughSensors::Instance(); - - // Quickly dip the LED to indicate that a measurement is started. - // This is done synchroneously, because we suspend the timer interrupts - // in the upcoming code. - ui->led3.off(); - delay(50); - ui->led3.on(); - - // Suspend the UI timer interrupts, to not let these interfere - // with the sensor measurements. - ui->suspend(); - - // Take a sample. - switch (_sampleType) { - case SAMPLE_TEMPERATURE: - sensors->readTemperature(); - if (sensors->temperatureOk) { - _temperatureMeasurements.registerValue(sensors->temperature); - } else { - _temperatureMeasurements.registerFailed(); - } - _sampleType = SAMPLE_HUMIDITY; - break; - case SAMPLE_HUMIDITY: - sensors->readHumidity(); - if (sensors->humidityOk) { - _humidityMeasurements.registerValue(sensors->humidity); - } else { - _humidityMeasurements.registerFailed(); - } - _sampleType = SAMPLE_DISTANCE; - break; - case SAMPLE_DISTANCE: - sensors->readDistance(); - if (sensors->distanceOk) { - _distanceMeasurements.registerValue(sensors->distance); - } else { - _distanceMeasurements.registerFailed(); - } - break; - } - - ui->resume(); - - _sampleCounter++; - if (_sampleCounter == SAMPLE_CYCLE_LENGTH) { - _sampleCounter = 0; - _sampleType = SAMPLE_TEMPERATURE; - } - } -} - -void DoughData::_publish() { - static unsigned long lastSample = 0; - if (lastSample == 0 || millis() - lastSample > PUBLISH_INTERVAL) { - lastSample = millis(); - - DoughUI* ui = DoughUI::Instance(); - DoughMQTT* mqtt = DoughMQTT::Instance(); - - auto m = _temperatureMeasurements.getLast(); - if (m.ok) { - mqtt->publish("temperature", m.value); - } else { - mqtt->publish("temperature", "null"); - } - - m = _temperatureMeasurements.getAverage(); - if (m.ok) { - mqtt->publish("temperature/average", m.value); - } else { - mqtt->publish("temperature/average", "null"); - } - - m = _humidityMeasurements.getLast(); - if (m.ok) { - mqtt->publish("humidity", m.value); - } else { - mqtt->publish("humidity", "null"); - } - - m = _humidityMeasurements.getAverage(); - if (m.ok) { - mqtt->publish("humidity/average", m.value); - } else { - mqtt->publish("humidity/average", "null"); - } - - m = _distanceMeasurements.getLast(); - if (m.ok) { - mqtt->publish("distance", m.value); - } else { - mqtt->publish("distance", "null"); - } - - m = _distanceMeasurements.getAverage(); - if (m.ok) { - mqtt->publish("distance/average", m.value); - } else { - mqtt->publish("distance/average", "null"); - } - - ui->led1.dip()->fast(); - } -} diff --git a/src/DoughData.h b/src/DoughData.h deleted file mode 100644 index 039643e..0000000 --- a/src/DoughData.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef DOUGH_DATA_H -#define DOUGH_DATA_H - -// These definitions describes what measurements are performed in sequence. -// One measurement is done every SAMPLE_INTERVAL microseconds. -// We always start with a temperature measurement, then a humidity measurement, -// and finally a number of distance measurements. -// The SAMPLE_CYCLE_LENGTH defines the total number of samples in this sequence. -#define SAMPLE_INTERVAL 1000 -#define SAMPLE_CYCLE_LENGTH 30 // 1 temperature + 1 humidity + 28 distance samples - -// Two different values are published per sensor: a recent value and an average -// value. These definition define the number of measurements to include in the -// average computation. -#define TEMPERATURE_AVG_LOOKBACK 10 // making this a 5 minute average -#define HUMIDITY_AVG_LOOKBACK 10 // making this a 5 minute average -#define DISTANCE_AVG_LOOKBACK 28 * 2 * 5 // making this a 5 minute average - -// The minimal interval at which to publish measurements to the MQTT broker. -// When significant changes occur in the measurements, then these will be published -// to the MQTT broker at all times, independent from this interval. -#define PUBLISH_INTERVAL 4000 - -#include -#include "DoughSensors.h" -#include "DoughNetwork.h" -#include "DoughMQTT.h" -#include "DoughUI.h" - -typedef enum { - SAMPLE_TEMPERATURE, - SAMPLE_HUMIDITY, - SAMPLE_DISTANCE -} DoughSampleType; - -/** - * The DoughDataMeasurement struct represents a single measurement. - */ -struct DoughDataMeasurement { - public: - int value = 0; - bool ok = false; -}; - -/** - * The DoughDataMeasurements class is used to store measurements for a sensor - * and to keep track of running totals for handling average computations. - */ -class DoughDataMeasurements { - public: - DoughDataMeasurements(int avgLookback); - void registerValue(int value); - void registerFailed(); - DoughDataMeasurement getLast(); - DoughDataMeasurement getAverage(); - void clearHistory(); - private: - DoughDataMeasurement* _storage; - unsigned int _storageSize; - int _averageSum = 0; - unsigned int _averageCount = 0; - unsigned int _index = 0; - DoughDataMeasurement* _next(); -}; - -/** - * The DoughData class is responsible for holding the device configuration, - * collecting measurements from sensors, gathering the statistics on these data, - * and publishing results to the MQTT broker. - */ -class DoughData { - public: - static DoughData* Instance(); - void setup(); - void loop(); - void clearHistory(); - void setContainerHeight(int height); - bool isConfigured(); - static void handleMqttConnect(DoughMQTT *mqtt); - static void handleMqttMessage(String &key, String &value); - - private: - DoughData(); - static DoughData* _instance; - DoughSensors * _sensors; - unsigned long _lastSample = 0; - DoughSampleType _sampleType = SAMPLE_TEMPERATURE; - int _sampleCounter = 0; - int _containerHeight; - bool _containerHeightSet; - void _sample(); - void _publish(); - DoughDataMeasurements _temperatureMeasurements; - DoughDataMeasurements _humidityMeasurements; - DoughDataMeasurements _distanceMeasurements; -}; - -#endif diff --git a/src/DoughLED.h b/src/DoughLED.h deleted file mode 100644 index acb11d5..0000000 --- a/src/DoughLED.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef DOUGH_LED_H -#define DOUGH_LED_H - -// Delay times for blinking, flashing and dipping. -#define LED_TRANSITION_TIME_SLOW 400 -#define LED_TRANSITION_TIME_DEFAULT 250 -#define LED_TRANSITION_TIME_FAST 100 - -#include -#include "config.h" - -typedef enum { - ON, - OFF, - BLINK_ON, - BLINK_OFF, - FLASH, - DIP, - PULSE -} DoughLEDState; - -class DoughLED { - public: - DoughLED(int pin); - void setup(); - void loop(); - void on(); - void off(); - DoughLED* blink(); - DoughLED* blink(int onStep, int ofSteps); - DoughLED* flash(); - DoughLED* dip(); - void pulse(); - void slow(); - void fast(); - bool isOn(); - bool isOff(); - - private: - int _pin; - int _pinState = LOW; - DoughLEDState _state = OFF; - void _setPin(int high_or_low); - unsigned long _timer; - unsigned int _time; - int _blinkOnStep; - int _blinkOfSteps; - int _blinkStep; - int _brightness; - int _pulseStep; -}; - -#endif diff --git a/src/DoughMQTT.h b/src/DoughMQTT.h deleted file mode 100644 index 9b85d5e..0000000 --- a/src/DoughMQTT.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef DOUGH_MQTT_H -#define DOUGH_MQTT_H - -#include -#include -#include "DoughNetwork.h" -#include "DoughUI.h" -#include "config.h" - -class DoughMQTT; - -typedef void (*DoughMQTTConnectHandler)(DoughMQTT* mqtt); -typedef void (*DoughMQTTMessageHandler)(String &key, String &value); - -class DoughMQTT { - public: - static DoughMQTT* Instance(); - void setup(); - void onConnect(DoughMQTTConnectHandler callback); - void onMessage(DoughMQTTMessageHandler callback); - bool isConnected(); - bool connect(); - void subscribe(const char* key); - void procesIncomingsMessages(); - void publish(const char* key, const char* payload); - void publish(const char* key, int payload); - - private: - DoughMQTT(); - static DoughMQTT* _instance; - MQTTClient _mqttClient; - DoughUI* _ui; - DoughMQTTConnectHandler _onConnect = nullptr; - MQTTClientCallbackSimple _onMessage = nullptr; - static void handleMessage(String &topic, String &payload); - char *_mqttDeviceId; -}; - -#endif diff --git a/src/DoughNetwork.h b/src/DoughNetwork.h deleted file mode 100644 index 621167d..0000000 --- a/src/DoughNetwork.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef DOUGH_NETWORK_H -#define DOUGH_NETWORK_H - -#include -#include "DoughUI.h" -#include "config.h" - -class DoughNetwork { - public: - static DoughNetwork* Instance(); - char *getMacAddress(); - void setup(); - void loop(); - bool isConnected(); - bool connect(); - WiFiClient client; - - private: - DoughNetwork(); - static DoughNetwork* _instance; - void _setMacAddress(); - char _macAddress[18]; // max MAC address length + 1 - DoughUI* _ui; -}; - -#endif diff --git a/src/DoughUI.cpp b/src/DoughUI.cpp deleted file mode 100644 index dac7eba..0000000 --- a/src/DoughUI.cpp +++ /dev/null @@ -1,198 +0,0 @@ -#include "DoughUI.h" - -DoughUI* DoughUI::_instance = nullptr; - -/** - * Fetch the DoughUI singleton. - */ -DoughUI* DoughUI::Instance() { - if (DoughUI::_instance == nullptr) { - DoughUI::_instance = new DoughUI(); - } - return DoughUI::_instance; -} - -DoughUI::DoughUI() : onoffButton(ONOFF_BUTTON_PIN), - setupButton(SETUP_BUTTON_PIN), - ledBuiltin(LED_BUILTIN), - led1(LED1_PIN), - led2(LED2_PIN), - led3(LED3_PIN) {} - -/** - * Called from the main setup() function of the sketch. - */ -void DoughUI::setup() { - // Setup the serial port, used for logging. - Serial.begin(LOG_BAUDRATE); - #ifdef LOG_WAIT_SERIAL - while (!Serial) { - // wait for serial port to connect. Needed for native USB. - } - #endif - - // Setup the buttons. - onoffButton.setup(); - onoffButton.onInterrupt(DoughUI::onoffButtonISR); - setupButton.setup(); - setupButton.onInterrupt(DoughUI::setupButtonISR); - - // Setup the LEDs. - ledBuiltin.setup(); - led1.setup(); - led2.setup(); - led3.setup(); - - // Setup a timer interrupt that is used to update the - // user interface (a.k.a. "LEDs") in parallel to other activities. - // This allows for example to have a flashing LED, during the - // wifi connection setup. - _setupTimerInterrupt(); - - // Notify the user that we're on a roll! - flash_all_leds(); -} - -void DoughUI::onoffButtonISR() { - DoughUI::Instance()->onoffButton.handleButtonState(); -} - -void DoughUI::setupButtonISR() { - DoughUI::Instance()->setupButton.handleButtonState(); -} - -/** - * Log a message to the serial interface. - */ -void DoughUI::log(const char *category, const char *fmt, ...) { - char buf[12]; - snprintf(buf, sizeof(buf)/sizeof(buf[0]), "%8s | ", category); - Serial.print(buf); - - va_list args; - va_start(args, fmt); - - while (*fmt != '\0') { - if (*fmt == 'i') { - int i = va_arg(args, int); - Serial.print(i); - } - else if (*fmt == 'f') { - float f = va_arg(args, double); - Serial.print(f); - } - else if (*fmt == 'a') { - IPAddress a = va_arg(args, IPAddress); - Serial.print(a); - } - else if (*fmt == 's') { - const char* s = va_arg(args, const char*); - Serial.print(s); - } - else if (*fmt == 'S') { - String S = va_arg(args, String); - Serial.print(S); - } - else { - Serial.print(""); - } - fmt++; - } - va_end(args); - - Serial.println(""); -} - -/** - * Setup a timer interrupt for updating the GUI. Unfortunately, the standard - * libraries that I can find for this, are not equipped to work for the - * Arduino Nano 33 IOT architecture. Luckily, documentation and various - * helpful threads on the internet helped me piece the following code together. - */ -void DoughUI::_setupTimerInterrupt() { - REG_GCLK_GENDIV = GCLK_GENDIV_DIV(200) | // Use divider (32kHz/200 = 160Hz) - GCLK_GENDIV_ID(4); // for Generic Clock GCLK4 - while (GCLK->STATUS.bit.SYNCBUSY); // Wait for synchronization - - REG_GCLK_GENCTRL = GCLK_GENCTRL_IDC | // Set the duty cycle to 50/50 HIGH/LOW - GCLK_GENCTRL_GENEN | // and enable the clock - GCLK_GENCTRL_SRC_OSC32K | // using the 32kHz clock source as input - GCLK_GENCTRL_ID(4); // for Generic Clock GCLK4 - while (GCLK->STATUS.bit.SYNCBUSY); // Wait for synchronization - - REG_GCLK_CLKCTRL = GCLK_CLKCTRL_CLKEN | // Enable timer - GCLK_CLKCTRL_GEN_GCLK4 | // using Generic Clock GCLK4 as input - GCLK_CLKCTRL_ID_TC4_TC5; // and feed its output to TC4 and TC5 - while (GCLK->STATUS.bit.SYNCBUSY); // Wait for synchronization - - REG_TC4_CTRLA |= TC_CTRLA_PRESCALER_DIV8 | // Use prescaler (160Hz / 8 = 20Hz) - TC_CTRLA_WAVEGEN_MFRQ | // Use match frequency (MFRQ) mode - TC_CTRLA_MODE_COUNT8 | // Set the timer to 8-bit mode - TC_CTRLA_ENABLE; // Enable TC4 - REG_TC4_INTENSET = TC_INTENSET_OVF; // Enable TC4 overflow (OVF) interrupts - REG_TC4_COUNT8_CC0 = 1; // Set the CC0 as the TOP value for MFRQ (1 => 50ms per pulse) - while (TC4->COUNT8.STATUS.bit.SYNCBUSY); // Wait for synchronization - - // Enable interrupts for TC4 in the Nested Vector InterruptController (NVIC), - NVIC_SetPriority(TC4_IRQn, 0); // Set NVIC priority for TC4 to 0 (highest) - NVIC_EnableIRQ(TC4_IRQn); // Enable TC4 interrupts -} - -void DoughUI::resume() { - NVIC_EnableIRQ(TC4_IRQn); // Enable TC4 interrupts -} - -void DoughUI::suspend() { - NVIC_DisableIRQ(TC4_IRQn); // Disable TC4 interrupts -} - -/** - * This callback is called when the TC4 timer hits an overflow interrupt. - */ -void TC4_Handler() { - DoughUI::Instance()->updatedLEDs(); - REG_TC4_INTFLAG = TC_INTFLAG_OVF; // Clear the OVF interrupt flag. -} - -/** - * Fire pending button events. - */ -void DoughUI::processButtonEvents() { - onoffButton.loop(); - setupButton.loop(); -} - -/** - * Clear pending button events. - */ -void DoughUI::clearButtonEvents() { - onoffButton.clearEvents(); - setupButton.clearEvents(); -} - -/** - * Update the state of all the LEDs in the system. - * This method is called both sync by methods in this class and async by - * the timer interrupt code from above. The timer interrupt based invocatino - * makes it possible to do LED updates, while the device is busy doing - * something else. - */ -void DoughUI::updatedLEDs() { - ledBuiltin.loop(); - led1.loop(); - led2.loop(); - led3.loop(); -} - -/** - * Flash all LEDs, one at a time. - */ -void DoughUI::flash_all_leds() { - ledBuiltin.on(); delay(100); - ledBuiltin.off(); led1.on(); delay(100); - led1.off(); led2.on(); delay(100); - led2.off(); led3.on(); delay(100); - led3.off(); -} diff --git a/src/DoughUI.h b/src/DoughUI.h deleted file mode 100644 index c08be2c..0000000 --- a/src/DoughUI.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef DOUGH_UI_H -#define DOUGH_UI_H - -#define LOG_BAUDRATE 9600 - -// Define this one to wait for USB serial to come up. -// This can be useful during development, when you want all -// serial messages to appear in the serial monitor. -// Without this, some of the initial serial messages might -// be missing from the output. -#undef LOG_WAIT_SERIAL - -#include -#include -#include -#include "DoughButton.h" -#include "DoughLED.h" -#include "config.h" - -class DoughUI { - public: - static DoughUI* Instance(); - void setup(); - static void onoffButtonISR(); - static void setupButtonISR(); - DoughButton onoffButton; - DoughButton setupButton; - DoughLED ledBuiltin; - DoughLED led1; - DoughLED led2; - DoughLED led3; - void processButtonEvents(); - void clearButtonEvents(); - void updatedLEDs(); - void flash_all_leds(); - void resume(); - void suspend(); - void log(const char *category, const char *fmt, ...); - - private: - DoughUI(); - void _setupTimerInterrupt(); - static DoughUI* _instance; -}; - -#endif diff --git a/src/DoughMQTT.cpp b/src/Network/DoughMQTT.cpp similarity index 57% rename from src/DoughMQTT.cpp rename to src/Network/DoughMQTT.cpp index 2603b11..61d8801 100644 --- a/src/DoughMQTT.cpp +++ b/src/Network/DoughMQTT.cpp @@ -4,19 +4,22 @@ // Constructor // ---------------------------------------------------------------------- -DoughMQTT* DoughMQTT::_instance = nullptr; +DoughMQTT *DoughMQTT::_instance = nullptr; /** * Fetch the DoughMQTT singleton. */ -DoughMQTT* DoughMQTT::Instance() { - if (DoughMQTT::_instance == nullptr) { +DoughMQTT *DoughMQTT::Instance() +{ + if (DoughMQTT::_instance == nullptr) + { DoughMQTT::_instance = new DoughMQTT(); } return DoughMQTT::_instance; } -DoughMQTT::DoughMQTT() { +DoughMQTT::DoughMQTT() +{ _ui = DoughUI::Instance(); } @@ -24,24 +27,27 @@ DoughMQTT::DoughMQTT() { // Setup // ---------------------------------------------------------------------- -void DoughMQTT::setup() { - DoughNetwork* network = DoughNetwork::Instance(); +void DoughMQTT::setup() +{ + DoughWiFi *network = DoughWiFi::Instance(); - #ifdef MQTT_DEVICE_ID +#ifdef MQTT_DEVICE_ID _mqttDeviceId = MQTT_DEVICE_ID; - #else +#else _mqttDeviceId = network->getMacAddress(); - #endif +#endif _ui->log("MQTT", "ss", "Device ID = ", _mqttDeviceId); - _mqttClient.begin(MQTT_BROKER, MQTT_PORT, network->client); + _mqttClient.begin(MQTT_BROKER, MQTT_PORT, network->client); } -void DoughMQTT::onConnect(DoughMQTTConnectHandler callback) { +void DoughMQTT::onConnect(DoughMQTTConnectHandler callback) +{ _onConnect = callback; } -void DoughMQTT::onMessage(MQTTClientCallbackSimple callback) { +void DoughMQTT::onMessage(MQTTClientCallbackSimple callback) +{ _onMessage = callback; } @@ -49,62 +55,73 @@ void DoughMQTT::onMessage(MQTTClientCallbackSimple callback) { // Loop // ---------------------------------------------------------------------- -bool DoughMQTT::isConnected() { +bool DoughMQTT::isConnected() +{ return _mqttClient.connected(); } -bool DoughMQTT::connect() { - _ui->log("MQTT" , "sssi", "Broker = ", MQTT_BROKER, ":", MQTT_PORT); +bool DoughMQTT::connect() +{ + _ui->log("MQTT", "sssi", "Broker = ", MQTT_BROKER, ":", MQTT_PORT); _mqttClient.connect(_mqttDeviceId, MQTT_USERNAME, MQTT_PASSWORD); - + // Check if the connection to the broker was successful. - if (!_mqttClient.connected()) { + if (!_mqttClient.connected()) + { _ui->log("MQTT", "s", "ERROR - Connection to broker failed"); return false; } _mqttClient.onMessage(DoughMQTT::handleMessage); - if (_onConnect != nullptr) { + if (_onConnect != nullptr) + { _onConnect(this); } return true; } -void DoughMQTT::procesIncomingsMessages() { +void DoughMQTT::procesIncomingsMessages() +{ _mqttClient.loop(); } -void DoughMQTT::handleMessage(String &topic, String &payload) { - DoughUI::Instance()->log("MQTT", "sSsS", "<<< ", topic, " = ", payload); +void DoughMQTT::handleMessage(String &topic, String &payload) +{ + DoughUI::Instance()->log("MQTT", "sSsS", "<<< ", topic, " = ", payload); DoughMQTT *mqtt = DoughMQTT::Instance(); - if (mqtt->_onMessage != nullptr) { + if (mqtt->_onMessage != nullptr) + { int pos = topic.lastIndexOf('/'); - if (pos != -1) { - topic.remove(0, pos+1); + if (pos != -1) + { + topic.remove(0, pos + 1); mqtt->_onMessage(topic, payload); } } } -void DoughMQTT::subscribe(const char* key) { +void DoughMQTT::subscribe(const char *key) +{ char topic[200]; - snprintf(topic, sizeof(topic)/sizeof(topic[0]), "%s/%s/%s", MQTT_TOPIC_PREFIX, _mqttDeviceId, key); + snprintf(topic, sizeof(topic) / sizeof(topic[0]), "%s/%s/%s", MQTT_TOPIC_PREFIX, _mqttDeviceId, key); DoughUI::Instance()->log("MQTT", "ss", "Subscribe to ", topic); _mqttClient.subscribe(topic); } -void DoughMQTT::publish(const char* key, const char* payload) { +void DoughMQTT::publish(const char *key, const char *payload) +{ char topic[200]; - snprintf(topic, sizeof(topic)/sizeof(topic[0]), "%s/%s/%s", MQTT_TOPIC_PREFIX, _mqttDeviceId, key); + snprintf(topic, sizeof(topic) / sizeof(topic[0]), "%s/%s/%s", MQTT_TOPIC_PREFIX, _mqttDeviceId, key); DoughUI::Instance()->log("MQTT", "ssss", ">>> ", topic, " = ", payload); _mqttClient.publish(topic, payload); } -void DoughMQTT::publish(const char* key, int payload) { +void DoughMQTT::publish(const char *key, int payload) +{ char buf[16]; snprintf(buf, 16, "%d", payload); publish(key, buf); -} +} \ No newline at end of file diff --git a/src/Network/DoughMQTT.h b/src/Network/DoughMQTT.h new file mode 100644 index 0000000..d3afa45 --- /dev/null +++ b/src/Network/DoughMQTT.h @@ -0,0 +1,40 @@ +#ifndef DOUGH_MQTT_H +#define DOUGH_MQTT_H + +#include +#include +#include "Network/DoughWiFi.h" +#include "UI/DoughUI.h" +#include "config.h" + +class DoughMQTT; + +typedef void (*DoughMQTTConnectHandler)(DoughMQTT *mqtt); +typedef void (*DoughMQTTMessageHandler)(String &key, String &value); + +class DoughMQTT +{ +public: + static DoughMQTT *Instance(); + void setup(); + void onConnect(DoughMQTTConnectHandler callback); + void onMessage(DoughMQTTMessageHandler callback); + bool isConnected(); + bool connect(); + void subscribe(const char *key); + void procesIncomingsMessages(); + void publish(const char *key, const char *payload); + void publish(const char *key, int payload); + +private: + DoughMQTT(); + static DoughMQTT *_instance; + MQTTClient _mqttClient; + DoughUI *_ui; + DoughMQTTConnectHandler _onConnect = nullptr; + MQTTClientCallbackSimple _onMessage = nullptr; + static void handleMessage(String &topic, String &payload); + char *_mqttDeviceId; +}; + +#endif diff --git a/src/DoughNetwork.cpp b/src/Network/DoughWiFi.cpp similarity index 69% rename from src/DoughNetwork.cpp rename to src/Network/DoughWiFi.cpp index f702083..1f75379 100644 --- a/src/DoughNetwork.cpp +++ b/src/Network/DoughWiFi.cpp @@ -1,22 +1,25 @@ -#include "DoughNetwork.h" +#include "Network/DoughWiFi.h" // ---------------------------------------------------------------------- // Constructor // ---------------------------------------------------------------------- -DoughNetwork* DoughNetwork::_instance = nullptr; +DoughWiFi *DoughWiFi::_instance = nullptr; /** - * Fetch the DoughNetwork singleton. + * Fetch the DoughWiFi singleton. */ -DoughNetwork* DoughNetwork::Instance() { - if (DoughNetwork::_instance == nullptr) { - DoughNetwork::_instance = new DoughNetwork(); +DoughWiFi *DoughWiFi::Instance() +{ + if (DoughWiFi::_instance == nullptr) + { + DoughWiFi::_instance = new DoughWiFi(); } - return DoughNetwork::_instance; + return DoughWiFi::_instance; } -DoughNetwork::DoughNetwork() { +DoughWiFi::DoughWiFi() +{ _ui = DoughUI::Instance(); } @@ -24,57 +27,67 @@ DoughNetwork::DoughNetwork() { // Setup // ---------------------------------------------------------------------- -void DoughNetwork::_setMacAddress() { +void DoughWiFi::_setMacAddress() +{ byte mac[6]; WiFi.macAddress(mac); snprintf( - _macAddress, sizeof(_macAddress)/sizeof(_macAddress[0]), + _macAddress, sizeof(_macAddress) / sizeof(_macAddress[0]), "%x:%x:%x:%x:%x:%x", mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]); } -void DoughNetwork::setup() { +void DoughWiFi::setup() +{ _setMacAddress(); - DoughUI::Instance()->log("NETWORK", "ss", "MAC address = ", getMacAddress()); + DoughUI::Instance()->log("NETWORK", "ss", "MAC address = ", getMacAddress()); } // ---------------------------------------------------------------------- // Loop // ---------------------------------------------------------------------- -bool DoughNetwork::isConnected() { +bool DoughWiFi::isConnected() +{ return WiFi.status() == WL_CONNECTED; } -bool DoughNetwork::connect() { +bool DoughWiFi::connect() +{ int status = WiFi.status(); // Check if a device with a WiFi shield is used. - if (status == WL_NO_SHIELD) { + if (status == WL_NO_SHIELD) + { _ui->log("NETWORK", "s", "ERROR - Device has no WiFi shield"); delay(5000); return false; } - + // Check if the WiFi network is already up. - if (status == WL_CONNECTED) { + if (status == WL_CONNECTED) + { return true; } // Setup the connection to the WiFi network. _ui->log("NETWORK", "ss", "WiFi network = ", WIFI_SSID); status = WiFi.begin(WIFI_SSID, WIFI_PASSWORD); - + // Check if the connection attempt was successful. - if (status == WL_CONNECTED) { + if (status == WL_CONNECTED) + { _ui->log("NETWORK", "sa", "IP-Address = ", WiFi.localIP()); - _ui->log("NETWORK", "sis", "Signal strength = ", WiFi.RSSI(), " dBm"); + _ui->log("NETWORK", "sis", "Signal strength = ", WiFi.RSSI(), " dBm"); return true; - } else { + } + else + { _ui->log("NETWORK", "sis", "ERROR - WiFi connection failed (reason: ", WiFi.reasonCode(), ")"); return false; } } -char* DoughNetwork::getMacAddress() { +char *DoughWiFi::getMacAddress() +{ return _macAddress; } diff --git a/src/Network/DoughWiFi.h b/src/Network/DoughWiFi.h new file mode 100644 index 0000000..38de99e --- /dev/null +++ b/src/Network/DoughWiFi.h @@ -0,0 +1,27 @@ +#ifndef DOUGH_NETWORK_H +#define DOUGH_NETWORK_H + +#include +#include "UI/DoughUI.h" +#include "config.h" + +class DoughWiFi +{ +public: + static DoughWiFi *Instance(); + char *getMacAddress(); + void setup(); + void loop(); + bool isConnected(); + bool connect(); + WiFiClient client; + +private: + DoughWiFi(); + static DoughWiFi *_instance; + void _setMacAddress(); + char _macAddress[18]; // max MAC address length + 1 + DoughUI *_ui; +}; + +#endif diff --git a/src/DoughSensors.cpp b/src/Sensors/DoughSensors.cpp similarity index 66% rename from src/DoughSensors.cpp rename to src/Sensors/DoughSensors.cpp index db3a5fd..362ea5b 100644 --- a/src/DoughSensors.cpp +++ b/src/Sensors/DoughSensors.cpp @@ -20,9 +20,6 @@ DoughSensors::DoughSensors() { _ui = DoughUI::Instance(); _dht = new DHT(DHT11_DATA_PIN, DHT11); _hcsr04 = new HCSR04(HCSR04_TRIG_PIN, HCSR04_ECHO_PIN); - temperature = 0; - humidity = 0; - distance = 0; } // ---------------------------------------------------------------------- @@ -38,40 +35,38 @@ void DoughSensors::setup() { // loop // ---------------------------------------------------------------------- -void DoughSensors::readTemperature() { +Measurement* DoughSensors::readTemperature() { float t = _dht->readTemperature(); if (isnan(t)) { _ui->log("SENSORS", "s", "ERROR - Temperature measurement failed"); - temperatureOk = false; + return Measurement::Failed(); } else { - temperature = int(t); - temperatureOk = true; - _hcsr04->setTemperature(t); + _hcsr04->setTemperature(int(t)); + auto m = new Measurement(true, int(t)); + _ui->log("SENSORS", "sisi", "Temperature = ", int(t), "°C ", m->value); + return m; } - _ui->log("SENSORS", "siss", "Temperature = ", temperature, "°C ", (temperatureOk ? "[OK]" : "[ERR]")); } -void DoughSensors::readHumidity() { +Measurement* DoughSensors::readHumidity() { int h = _dht->readHumidity(); if (h == 0) { _ui->log("SENSORS", "s", "ERROR - Humidity measurement failed"); - humidityOk = false; + return Measurement::Failed(); } else { - humidity = h; - humidityOk = true; _hcsr04->setHumidity(h); + _ui->log("SENSORS", "sis", "Humidity = ", h, "%"); + return Measurement::Ok(h); } - _ui->log("SENSORS", "siss", "Humidity = ", humidity, "% ", (humidityOk ? "[OK]" : "[ERR]")); } -void DoughSensors::readDistance() { +Measurement* DoughSensors::readDistance() { int d = _hcsr04->readDistance(); if (d == -1) { _ui->log("SENSORS", "s", "ERROR - Distance measurement failed"); - distanceOk = false; + return Measurement::Failed(); } else { - distanceOk = true; - distance = d; - } - _ui->log("SENSORS", "siss", "Distance = ", distance, "mm ", (distanceOk? "[OK]" : "[ERR]")); + _ui->log("SENSORS", "sis", "Distance = ", d, "mm"); + return Measurement::Ok(d); + } } diff --git a/src/DoughSensors.h b/src/Sensors/DoughSensors.h similarity index 50% rename from src/DoughSensors.h rename to src/Sensors/DoughSensors.h index dd28676..09d1775 100644 --- a/src/DoughSensors.h +++ b/src/Sensors/DoughSensors.h @@ -2,24 +2,18 @@ #define DOUGH_SENSORS_H #include -#include "HCSR04.h" -#include "DoughUI.h" +#include "Sensors/HCSR04.h" +#include "UI/DoughUI.h" +#include "Data/Measurement.h" #include "config.h" class DoughSensors { public: static DoughSensors* Instance(); void setup(); - void readAll(); - void readTemperature(); - int temperature = 0; - bool temperatureOk = false; - void readHumidity(); - int humidity = 0; - bool humidityOk = false; - void readDistance(); - int distance = 0; - bool distanceOk = false; + Measurement* readTemperature(); + Measurement* readHumidity(); + Measurement* readDistance(); private: DoughSensors(); diff --git a/src/HCSR04.cpp b/src/Sensors/HCSR04.cpp similarity index 96% rename from src/HCSR04.cpp rename to src/Sensors/HCSR04.cpp index b31e3e3..fe32991 100644 --- a/src/HCSR04.cpp +++ b/src/Sensors/HCSR04.cpp @@ -1,4 +1,4 @@ -#include "HCSR04.h" +#include "Sensors/HCSR04.h" HCSR04::HCSR04(int triggerPin, int echoPin) { _triggerPin = triggerPin; @@ -33,7 +33,6 @@ int HCSR04::readDistance() { _sortSamples(); return _computeAverage(); } - DoughUI::Instance()->log("HCSR04", "s", "ERROR - Not enough samples for reading distance, returning NAN"); return -1; } diff --git a/src/HCSR04.h b/src/Sensors/HCSR04.h similarity index 98% rename from src/HCSR04.h rename to src/Sensors/HCSR04.h index 17e9c3e..fff8cc5 100644 --- a/src/HCSR04.h +++ b/src/Sensors/HCSR04.h @@ -26,7 +26,6 @@ #define HCSR04_INIT_HUMIDITY 50.000 #include -#include "DoughUI.h" #include "config.h" class HCSR04 { diff --git a/src/DoughButton.cpp b/src/UI/DoughButton.cpp similarity index 67% rename from src/DoughButton.cpp rename to src/UI/DoughButton.cpp index 70e33dc..e755564 100644 --- a/src/DoughButton.cpp +++ b/src/UI/DoughButton.cpp @@ -18,11 +18,13 @@ * // Linking the function ot button interrupts. * myButton.onInterrupt(myButtonISR); */ -DoughButton::DoughButton(int pin) { +DoughButton::DoughButton(int pin) +{ _pin = pin; } -void DoughButton::setup() { +void DoughButton::setup() +{ pinMode(_pin, INPUT_PULLUP); } @@ -31,7 +33,8 @@ void DoughButton::setup() { * interrupts. The provided isr should relay interrupts to the * handleButtonState() method of this class (see constructor docs). */ -void DoughButton::onInterrupt(DoughButtonHandler isr) { +void DoughButton::onInterrupt(DoughButtonHandler isr) +{ attachInterrupt(digitalPinToInterrupt(_pin), isr, CHANGE); } @@ -40,86 +43,111 @@ void DoughButton::onInterrupt(DoughButtonHandler isr) { * When specific handlers for long and/or short presses are * configured as well, those have precedence over this one. */ -void DoughButton::onPress(DoughButtonHandler handler) { +void DoughButton::onPress(DoughButtonHandler handler) +{ _pressHandler = handler; } /** * Assign an event handler for long button presses. */ -void DoughButton::onLongPress(DoughButtonHandler handler) { +void DoughButton::onLongPress(DoughButtonHandler handler) +{ _longPressHandler = handler; } /** * Assign an event handler for short button presses. */ -void DoughButton::onShortPress(DoughButtonHandler handler) { +void DoughButton::onShortPress(DoughButtonHandler handler) +{ _shortPressHandler = handler; } -void DoughButton::loop() { +void DoughButton::loop() +{ handleButtonState(); - if (_state == UP_AFTER_SHORT) { - if (_shortPressHandler != nullptr) { + if (_state == UP_AFTER_SHORT) + { + if (_shortPressHandler != nullptr) + { _shortPressHandler(); } - else if (_pressHandler != nullptr) { + else if (_pressHandler != nullptr) + { _pressHandler(); } _state = READY_FOR_NEXT_PRESS; } - else if (_state == DOWN_LONG || _state == UP_AFTER_LONG) { - if (_longPressHandler != nullptr) { + else if (_state == DOWN_LONG || _state == UP_AFTER_LONG) + { + if (_longPressHandler != nullptr) + { _longPressHandler(); } - else if (_pressHandler != nullptr) { + else if (_pressHandler != nullptr) + { _pressHandler(); } _state = READY_FOR_NEXT_PRESS; } - else if (_state == DOWN && _shortPressHandler == nullptr && _longPressHandler == nullptr) { - if (_pressHandler != nullptr) { + else if (_state == DOWN && _shortPressHandler == nullptr && _longPressHandler == nullptr) + { + if (_pressHandler != nullptr) + { _pressHandler(); - } + } _state = READY_FOR_NEXT_PRESS; } } -void DoughButton::clearEvents() { +void DoughButton::clearEvents() +{ _state = READY_FOR_NEXT_PRESS; } -void DoughButton::handleButtonState() { +void DoughButton::handleButtonState() +{ bool buttonIsDown = digitalRead(_pin) == 0; bool buttonIsUp = !buttonIsDown; // When the button state has changed since the last time, then // start the debounce timer. - if (buttonIsDown != _debounceState) { + if (buttonIsDown != _debounceState) + { _debounceTimer = millis(); _debounceState = buttonIsDown; } unsigned long interval = (millis() - _debounceTimer); - + // Only when the last state change has been stable for longer than the // configured debounce delay, then we accept the current state as // a stabilized button state. - if (interval < BUTTON_DEBOUNCE_DELAY) { + if (interval < BUTTON_DEBOUNCE_DELAY) + { return; } // Handle button state changes. - if (_state == READY_FOR_NEXT_PRESS && buttonIsUp) { + if (_state == READY_FOR_NEXT_PRESS && buttonIsUp) + { _state = UP; - } else if (_state == UP && buttonIsDown) { + } + else if (_state == UP && buttonIsDown) + { _state = DOWN; - } else if (_state == DOWN && buttonIsDown && interval > BUTTON_LONGPRESS_DELAY) { + } + else if (_state == DOWN && buttonIsDown && interval > BUTTON_LONGPRESS_DELAY) + { _state = DOWN_LONG; - } else if (_state == DOWN && buttonIsUp) { + } + else if (_state == DOWN && buttonIsUp) + { _state = UP_AFTER_SHORT; - } else if (_state == DOWN_LONG && buttonIsUp) { + } + else if (_state == DOWN_LONG && buttonIsUp) + { _state = UP_AFTER_LONG; } } diff --git a/src/UI/DoughButton.h b/src/UI/DoughButton.h new file mode 100644 index 0000000..9189abd --- /dev/null +++ b/src/UI/DoughButton.h @@ -0,0 +1,44 @@ +#ifndef DOUGH_BUTTON_H +#define DOUGH_BUTTON_H + +#define BUTTON_DEBOUNCE_DELAY 50 +#define BUTTON_LONGPRESS_DELAY 1000 + +#include + +typedef enum +{ + UP, + DOWN, + DOWN_LONG, + UP_AFTER_LONG, + UP_AFTER_SHORT, + READY_FOR_NEXT_PRESS +} DoughButtonState; + +typedef void (*DoughButtonHandler)(); + +class DoughButton +{ +public: + DoughButton(int pin); + void setup(); + void loop(); + void onInterrupt(DoughButtonHandler isr); + void onPress(DoughButtonHandler handler); + void onShortPress(DoughButtonHandler handler); + void onLongPress(DoughButtonHandler handler); + void clearEvents(); + void handleButtonState(); + +private: + int _pin; + DoughButtonHandler _pressHandler = nullptr; + DoughButtonHandler _shortPressHandler = nullptr; + DoughButtonHandler _longPressHandler = nullptr; + bool _debounceState = false; + unsigned long _debounceTimer = 0; + DoughButtonState _state = UP; +}; + +#endif diff --git a/src/DoughLED.cpp b/src/UI/DoughLED.cpp similarity index 62% rename from src/DoughLED.cpp rename to src/UI/DoughLED.cpp index 3a848c9..ada3dc8 100644 --- a/src/DoughLED.cpp +++ b/src/UI/DoughLED.cpp @@ -1,92 +1,115 @@ #include "DoughLED.h" -DoughLED::DoughLED(int pin) { +DoughLED::DoughLED(int pin) +{ _pin = pin; } -void DoughLED::setup() { +void DoughLED::setup() +{ pinMode(_pin, OUTPUT); _state = OFF; _setPin(LOW); } -void DoughLED::loop() { +void DoughLED::loop() +{ unsigned long now = millis(); bool tick = (now - _timer) > _time; - - if (_state == FLASH) { - if (tick) { + + if (_state == FLASH) + { + if (tick) + { _setPin(LOW); _state = OFF; } } - else if (_state == DIP) { - if (tick) { + else if (_state == DIP) + { + if (tick) + { _setPin(HIGH); _state = ON; } } - else if (_state == BLINK_ON) { - if (_blinkStep == _blinkOnStep) { + else if (_state == BLINK_ON) + { + if (_blinkStep == _blinkOnStep) + { _setPin(HIGH); } - if (tick) { + if (tick) + { _setPin(LOW); _state = BLINK_OFF; _timer = now; } } - else if (_state == BLINK_OFF) { - if (tick) { + else if (_state == BLINK_OFF) + { + if (tick) + { _state = BLINK_ON; _timer = now; _blinkStep++; - if (_blinkStep > _blinkOfSteps) { + if (_blinkStep > _blinkOfSteps) + { _blinkStep = 1; } } - } - else if (_state == PULSE) { - if (tick) { + } + else if (_state == PULSE) + { + if (tick) + { _timer = now; _time = 1; _brightness += _pulseStep; - if (_brightness <= 0) { + if (_brightness <= 0) + { _time = 200; _brightness = 0; _pulseStep = -_pulseStep; } - else if (_brightness >= 100) { + else if (_brightness >= 100) + { _brightness = 100; _pulseStep = -_pulseStep; } } analogWrite(_pin, _brightness); } - else if (_state == OFF) { + else if (_state == OFF) + { _setPin(LOW); } - else if (_state == ON) { + else if (_state == ON) + { _setPin(HIGH); } } -void DoughLED::_setPin(int high_or_low) { +void DoughLED::_setPin(int high_or_low) +{ _pinState = high_or_low; - analogWrite(_pin, _pinState == LOW ? 0 : 255); + analogWrite(_pin, _pinState == LOW ? 0 : 255); } -void DoughLED::on() { +void DoughLED::on() +{ _state = ON; loop(); } -void DoughLED::off() { +void DoughLED::off() +{ _state = OFF; loop(); } -DoughLED* DoughLED::flash() { +DoughLED *DoughLED::flash() +{ _setPin(HIGH); _state = FLASH; _timer = millis(); @@ -95,11 +118,13 @@ DoughLED* DoughLED::flash() { return this; } -DoughLED* DoughLED::blink() { +DoughLED *DoughLED::blink() +{ return blink(1, 1); } -DoughLED* DoughLED::dip() { +DoughLED *DoughLED::dip() +{ _setPin(LOW); _state = DIP; _timer = millis(); @@ -108,7 +133,8 @@ DoughLED* DoughLED::dip() { return this; } -DoughLED* DoughLED::blink(int onStep, int ofSteps) { +DoughLED *DoughLED::blink(int onStep, int ofSteps) +{ _blinkOnStep = onStep; _blinkOfSteps = ofSteps; _blinkStep = 1; @@ -118,25 +144,30 @@ DoughLED* DoughLED::blink(int onStep, int ofSteps) { return this; } -void DoughLED::pulse() { +void DoughLED::pulse() +{ _state = PULSE; _brightness = 0; _pulseStep = +8; _time = 1; } -void DoughLED::slow() { +void DoughLED::slow() +{ _time = LED_TRANSITION_TIME_SLOW; } -void DoughLED::fast() { +void DoughLED::fast() +{ _time = LED_TRANSITION_TIME_FAST; } -bool DoughLED::isOn() { +bool DoughLED::isOn() +{ return _pinState == HIGH; } -bool DoughLED::isOff() { +bool DoughLED::isOff() +{ return _pinState == LOW; } diff --git a/src/UI/DoughLED.h b/src/UI/DoughLED.h new file mode 100644 index 0000000..01bd5cc --- /dev/null +++ b/src/UI/DoughLED.h @@ -0,0 +1,54 @@ +#ifndef DOUGH_LED_H +#define DOUGH_LED_H + +// Delay times for blinking, flashing and dipping. +#define LED_TRANSITION_TIME_SLOW 400 +#define LED_TRANSITION_TIME_DEFAULT 250 +#define LED_TRANSITION_TIME_FAST 100 + +#include + +typedef enum +{ + ON, + OFF, + BLINK_ON, + BLINK_OFF, + FLASH, + DIP, + PULSE +} DoughLEDState; + +class DoughLED +{ +public: + DoughLED(int pin); + void setup(); + void loop(); + void on(); + void off(); + DoughLED *blink(); + DoughLED *blink(int onStep, int ofSteps); + DoughLED *flash(); + DoughLED *dip(); + void pulse(); + void slow(); + void fast(); + bool isOn(); + bool isOff(); + +private: + int _pin; + int _pinState = LOW; + DoughLEDState _state = OFF; + void _setPin(int high_or_low); + unsigned long _timer; + unsigned int _time; + int _blinkOnStep; + int _blinkOfSteps; + int _blinkStep; + int _brightness; + int _pulseStep; +}; + +#endif diff --git a/src/UI/DoughUI.cpp b/src/UI/DoughUI.cpp new file mode 100644 index 0000000..8fa4ac5 --- /dev/null +++ b/src/UI/DoughUI.cpp @@ -0,0 +1,231 @@ +#include "DoughUI.h" + +DoughUI *DoughUI::_instance = nullptr; + +/** + * Fetch the DoughUI singleton. + */ +DoughUI *DoughUI::Instance() +{ + if (DoughUI::_instance == nullptr) + { + DoughUI::_instance = new DoughUI(); + } + return DoughUI::_instance; +} + +DoughUI::DoughUI() : onoffButton(ONOFF_BUTTON_PIN), + setupButton(SETUP_BUTTON_PIN), + ledBuiltin(LED_BUILTIN), + led1(LED1_PIN), + led2(LED2_PIN), + led3(LED3_PIN) {} + +/** + * Called from the main setup() function of the sketch. + */ +void DoughUI::setup() +{ + // Setup the serial port, used for logging. + Serial.begin(LOG_BAUDRATE); +#ifdef LOG_WAIT_SERIAL + while (!Serial) + { + // wait for serial port to connect. Needed for native USB. + } +#endif + + // Setup the buttons. + onoffButton.setup(); + onoffButton.onInterrupt(DoughUI::onoffButtonISR); + setupButton.setup(); + setupButton.onInterrupt(DoughUI::setupButtonISR); + + // Setup the LEDs. + ledBuiltin.setup(); + led1.setup(); + led2.setup(); + led3.setup(); + + // Setup a timer interrupt that is used to update the + // user interface (a.k.a. "LEDs") in parallel to other activities. + // This allows for example to have a flashing LED, during the + // wifi connection setup. + _setupTimerInterrupt(); + + // Notify the user that we're on a roll! + flash_all_leds(); +} + +void DoughUI::onoffButtonISR() +{ + DoughUI::Instance()->onoffButton.handleButtonState(); +} + +void DoughUI::setupButtonISR() +{ + DoughUI::Instance()->setupButton.handleButtonState(); +} + +/** + * Log a message to the serial interface. + */ +void DoughUI::log(const char *category, const char *fmt, ...) +{ + char buf[12]; + snprintf(buf, sizeof(buf) / sizeof(buf[0]), "%8s | ", category); + Serial.print(buf); + + va_list args; + va_start(args, fmt); + + while (*fmt != '\0') + { + if (*fmt == 'i') + { + int i = va_arg(args, int); + Serial.print(i); + } + else if (*fmt == 'f') + { + float f = va_arg(args, double); + Serial.print(f); + } + else if (*fmt == 'a') + { + IPAddress a = va_arg(args, IPAddress); + Serial.print(a); + } + else if (*fmt == 's') + { + const char *s = va_arg(args, const char *); + Serial.print(s); + } + else if (*fmt == 'S') + { + String S = va_arg(args, String); + Serial.print(S); + } + else + { + Serial.print(""); + } + fmt++; + } + va_end(args); + + Serial.println(""); +} + +/** + * Setup a timer interrupt for updating the GUI. Unfortunately, the standard + * libraries that I can find for this, are not equipped to work for the + * Arduino Nano 33 IOT architecture. Luckily, documentation and various + * helpful threads on the internet helped me piece the following code together. + */ +void DoughUI::_setupTimerInterrupt() +{ + REG_GCLK_GENDIV = GCLK_GENDIV_DIV(200) | // Use divider (32kHz/200 = 160Hz) + GCLK_GENDIV_ID(4); // for Generic Clock GCLK4 + while (GCLK->STATUS.bit.SYNCBUSY) + ; // Wait for synchronization + + REG_GCLK_GENCTRL = GCLK_GENCTRL_IDC | // Set the duty cycle to 50/50 HIGH/LOW + GCLK_GENCTRL_GENEN | // and enable the clock + GCLK_GENCTRL_SRC_OSC32K | // using the 32kHz clock source as input + GCLK_GENCTRL_ID(4); // for Generic Clock GCLK4 + while (GCLK->STATUS.bit.SYNCBUSY) + ; // Wait for synchronization + + REG_GCLK_CLKCTRL = GCLK_CLKCTRL_CLKEN | // Enable timer + GCLK_CLKCTRL_GEN_GCLK4 | // using Generic Clock GCLK4 as input + GCLK_CLKCTRL_ID_TC4_TC5; // and feed its output to TC4 and TC5 + while (GCLK->STATUS.bit.SYNCBUSY) + ; // Wait for synchronization + + REG_TC4_CTRLA |= TC_CTRLA_PRESCALER_DIV8 | // Use prescaler (160Hz / 8 = 20Hz) + TC_CTRLA_WAVEGEN_MFRQ | // Use match frequency (MFRQ) mode + TC_CTRLA_MODE_COUNT8 | // Set the timer to 8-bit mode + TC_CTRLA_ENABLE; // Enable TC4 + REG_TC4_INTENSET = TC_INTENSET_OVF; // Enable TC4 overflow (OVF) interrupts + REG_TC4_COUNT8_CC0 = 1; // Set the CC0 as the TOP value for MFRQ (1 => 50ms per pulse) + while (TC4->COUNT8.STATUS.bit.SYNCBUSY) + ; // Wait for synchronization + + // Enable interrupts for TC4 in the Nested Vector InterruptController (NVIC), + NVIC_SetPriority(TC4_IRQn, 0); // Set NVIC priority for TC4 to 0 (highest) + NVIC_EnableIRQ(TC4_IRQn); // Enable TC4 interrupts +} + +void DoughUI::resume() +{ + NVIC_EnableIRQ(TC4_IRQn); // Enable TC4 interrupts +} + +void DoughUI::suspend() +{ + NVIC_DisableIRQ(TC4_IRQn); // Disable TC4 interrupts +} + +/** + * This callback is called when the TC4 timer hits an overflow interrupt. + */ +void TC4_Handler() +{ + DoughUI::Instance()->updatedLEDs(); + REG_TC4_INTFLAG = TC_INTFLAG_OVF; // Clear the OVF interrupt flag. +} + +/** + * Fire pending button events. + */ +void DoughUI::processButtonEvents() +{ + onoffButton.loop(); + setupButton.loop(); +} + +/** + * Clear pending button events. + */ +void DoughUI::clearButtonEvents() +{ + onoffButton.clearEvents(); + setupButton.clearEvents(); +} + +/** + * Update the state of all the LEDs in the system. + * This method is called both sync by methods in this class and async by + * the timer interrupt code from above. The timer interrupt based invocatino + * makes it possible to do LED updates, while the device is busy doing + * something else. + */ +void DoughUI::updatedLEDs() +{ + ledBuiltin.loop(); + led1.loop(); + led2.loop(); + led3.loop(); +} + +/** + * Flash all LEDs, one at a time. + */ +void DoughUI::flash_all_leds() +{ + ledBuiltin.on(); + delay(100); + ledBuiltin.off(); + led1.on(); + delay(100); + led1.off(); + led2.on(); + delay(100); + led2.off(); + led3.on(); + delay(100); + led3.off(); +} diff --git a/src/UI/DoughUI.h b/src/UI/DoughUI.h new file mode 100644 index 0000000..dc8ef9a --- /dev/null +++ b/src/UI/DoughUI.h @@ -0,0 +1,47 @@ +#ifndef DOUGH_UI_H +#define DOUGH_UI_H + +#define LOG_BAUDRATE 9600 + +// Define this one to wait for USB serial to come up. +// This can be useful during development, when you want all +// serial messages to appear in the serial monitor. +// Without this, some of the initial serial messages might +// be missing from the output. +#undef LOG_WAIT_SERIAL + +#include +#include +#include +#include "UI/DoughButton.h" +#include "UI/DoughLED.h" +#include "config.h" + +class DoughUI +{ +public: + static DoughUI *Instance(); + void setup(); + static void onoffButtonISR(); + static void setupButtonISR(); + DoughButton onoffButton; + DoughButton setupButton; + DoughLED ledBuiltin; + DoughLED led1; + DoughLED led2; + DoughLED led3; + void processButtonEvents(); + void clearButtonEvents(); + void updatedLEDs(); + void flash_all_leds(); + void resume(); + void suspend(); + void log(const char *category, const char *fmt, ...); + +private: + DoughUI(); + void _setupTimerInterrupt(); + static DoughUI *_instance; +}; + +#endif diff --git a/src/config.h b/src/config.h index fc42e26..9f89aa0 100644 --- a/src/config.h +++ b/src/config.h @@ -1,20 +1,20 @@ // The digital pin to which the DATA pin of the DHT11 // temperature/humidity sensor is connected. -#define DHT11_DATA_PIN 10 +#define DHT11_DATA_PIN 10 // The digital pins to which the TRIG and ECHO pins of // the HCSR04 distance sensor are connected. -#define HCSR04_TRIG_PIN 4 -#define HCSR04_ECHO_PIN 5 +#define HCSR04_TRIG_PIN 4 +#define HCSR04_ECHO_PIN 5 // The digital pins to which the three LEDs are connected. -#define LED1_PIN 8 -#define LED2_PIN 7 -#define LED3_PIN 6 +#define LED1_PIN 8 +#define LED2_PIN 7 +#define LED3_PIN 6 -// The digital pins to which the push buttons are connected. -#define ONOFF_BUTTON_PIN 2 -#define SETUP_BUTTON_PIN 3 +// The digital pins to which the push buttons are connected. +#define ONOFF_BUTTON_PIN 2 +#define SETUP_BUTTON_PIN 3 // The network configuration and possibly overrides for the above // definitions are stored in a separate header file, which is diff --git a/src/config_local.example.h b/src/config_local.example.h index 3ef8998..6e78a45 100644 --- a/src/config_local.example.h +++ b/src/config_local.example.h @@ -1,12 +1,12 @@ // WPA2 WiFi connection configuration. -#define WIFI_SSID "" -#define WIFI_PASSWORD "" +#define WIFI_SSID "" +#define WIFI_PASSWORD "" // MQTT broker configuration. -#define MQTT_BROKER "" -#define MQTT_PORT 1883 -#define MQTT_USERNAME "" -#define MQTT_PASSWORD "" +#define MQTT_BROKER "" +#define MQTT_PORT 1883 +#define MQTT_USERNAME "" +#define MQTT_PASSWORD "" // The prefix to use for the MQTT publishing topic. #define MQTT_TOPIC_PREFIX "sensors/doughboy" diff --git a/src/DoughBoy.cpp b/src/main.cpp similarity index 70% rename from src/DoughBoy.cpp rename to src/main.cpp index b2f6add..860a275 100644 --- a/src/DoughBoy.cpp +++ b/src/main.cpp @@ -1,4 +1,4 @@ -#include "DoughBoy.h" +#include "main.h" // TOOD: implement the calibration logic // TODO: use different timings for temperature, humidity and distance measurements. Temp/Humidity together takes about 500ms, which slows down stuff. @@ -8,11 +8,12 @@ DoughBoyState state = CONFIGURING; -void setup() { +void setup() +{ DoughSensors::Instance()->setup(); - DoughNetwork::Instance()->setup(); + DoughWiFi::Instance()->setup(); DoughMQTT::Instance()->setup(); - DoughData::Instance()->setup(); + DataController::Instance()->setup(); auto ui = DoughUI::Instance(); ui->setup(); ui->onoffButton.onPress(handleOnoffButtonPress); @@ -20,34 +21,41 @@ void setup() { ui->log("MAIN", "s", "Initialization completed, starting device"); } -void loop() { +void loop() +{ auto ui = DoughUI::Instance(); - auto data = DoughData::Instance(); + auto data = DataController::Instance(); auto mqtt = DoughMQTT::Instance(); - + ui->processButtonEvents(); - if (!setupNetworkConnection()) { + if (!setupNetworkConnection()) + { return; } mqtt->procesIncomingsMessages(); - - if (state == CONFIGURING && data->isConfigured()) { + + if (state == CONFIGURING && data->isConfigured()) + { setStateToMeasuring(); } - else if (state == MEASURING && !data->isConfigured()) { + else if (state == MEASURING && !data->isConfigured()) + { setStateToConfiguring(); } - else if (state == MEASURING) { - DoughData::Instance()->loop(); + else if (state == MEASURING) + { + DataController::Instance()->loop(); } - else if (state == CALIBRATING) { + else if (state == CALIBRATING) + { delay(3000); setStateToPaused(); } - else if (state == PAUSED) { - DoughData::Instance()->clearHistory(); + else if (state == PAUSED) + { + DataController::Instance()->clearHistory(); } } @@ -56,18 +64,23 @@ void loop() { * If not, then try to setup the connection. * Returns true if the connection was established, false otherwise. */ -bool setupNetworkConnection() { +bool setupNetworkConnection() +{ static auto connectionState = CONNECTING_WIFI; - + auto ui = DoughUI::Instance(); - auto network = DoughNetwork::Instance(); + auto network = DoughWiFi::Instance(); auto mqtt = DoughMQTT::Instance(); - - if (!network->isConnected()) { - if (connectionState == CONNECTED) { + + if (!network->isConnected()) + { + if (connectionState == CONNECTED) + { ui->log("MAIN", "s", "ERROR - Connection to WiFi network lost! Reconnecting ..."); - } else { - ui->log("MAIN", "s", "Connecting to the WiFi network ..."); + } + else + { + ui->log("MAIN", "s", "Connecting to the WiFi network ..."); } connectionState = CONNECTING_WIFI; ui->led1.blink()->slow(); @@ -75,20 +88,26 @@ bool setupNetworkConnection() { ui->led3.off(); network->connect(); } - if (network->isConnected() && !mqtt->isConnected()) { - if (connectionState == CONNECTED) { + if (network->isConnected() && !mqtt->isConnected()) + { + if (connectionState == CONNECTED) + { ui->log("MAIN", "s", "ERROR - Connection to the MQTT broker lost! Reconnecting ..."); - } else { - ui->log("MAIN", "s", "Connecting to the MQTT broker ..."); + } + else + { + ui->log("MAIN", "s", "Connecting to the MQTT broker ..."); } connectionState = CONNECTING_MQTT; ui->led1.blink()->fast(); ui->led2.off(); ui->led3.off(); mqtt->connect(); - } - if (network->isConnected() && mqtt->isConnected()) { - if (connectionState != CONNECTED) { + } + if (network->isConnected() && mqtt->isConnected()) + { + if (connectionState != CONNECTED) + { ui->log("MAIN", "s", "Connection to MQTT broker established"); ui->led1.on(); ui->led2.off(); @@ -102,20 +121,25 @@ bool setupNetworkConnection() { return connectionState == CONNECTED; } -void handleOnoffButtonPress() { - if (state == MEASURING) { +void handleOnoffButtonPress() +{ + if (state == MEASURING) + { setStateToPaused(); } - else if (state == PAUSED) { + else if (state == PAUSED) + { setStateToMeasuring(); } } -void handleSetupButtonPress() { +void handleSetupButtonPress() +{ setStateToCalibrating(); } -void setStateToConfiguring() { +void setStateToConfiguring() +{ auto ui = DoughUI::Instance(); ui->log("MAIN", "s", "Waiting for configuration ..."); state = CONFIGURING; @@ -125,7 +149,8 @@ void setStateToConfiguring() { DoughMQTT::Instance()->publish("state", "configuring"); } -void setStateToMeasuring() { +void setStateToMeasuring() +{ auto ui = DoughUI::Instance(); ui->log("MAIN", "s", "Starting measurements"); state = MEASURING; @@ -135,22 +160,24 @@ void setStateToMeasuring() { DoughMQTT::Instance()->publish("state", "measuring"); } -void setStateToPaused() { - auto ui = DoughUI::Instance(); +void setStateToPaused() +{ + auto ui = DoughUI::Instance(); ui->log("MAIN", "s", "Pausing measurements"); state = PAUSED; ui->led1.on(); ui->led2.on(); ui->led3.pulse(); - DoughMQTT::Instance()->publish("state", "paused"); + DoughMQTT::Instance()->publish("state", "paused"); } -void setStateToCalibrating() { +void setStateToCalibrating() +{ auto ui = DoughUI::Instance(); ui->log("MAIN", "s", "Requested device calibration"); state = CALIBRATING; ui->led1.on(); ui->led2.blink()->slow(); ui->led3.off(); - DoughMQTT::Instance()->publish("state", "calibrating"); + DoughMQTT::Instance()->publish("state", "calibrating"); } diff --git a/src/DoughBoy.h b/src/main.h similarity index 70% rename from src/DoughBoy.h rename to src/main.h index 373acc6..95cbcc7 100644 --- a/src/DoughBoy.h +++ b/src/main.h @@ -2,21 +2,23 @@ #define DOUGHBOY_H #include -#include "DoughNetwork.h" -#include "DoughMQTT.h" -#include "DoughSensors.h" -#include "DoughData.h" -#include "DoughButton.h" -#include "DoughUI.h" +#include "Network/DoughWiFi.h" +#include "Network/DoughMQTT.h" +#include "Sensors/DoughSensors.h" +#include "Data/DataController.h" +#include "UI/DoughButton.h" +#include "UI/DoughUI.h" #include "config.h" -typedef enum { +typedef enum +{ CONNECTING_WIFI, CONNECTING_MQTT, CONNECTED } DoughBoyConnectionState; -typedef enum { +typedef enum +{ CONFIGURING, MEASURING, PAUSED,