77 lines
1.4 KiB
C++
77 lines
1.4 KiB
C++
#include "DisplayManager.h"
|
|
#include "SensorManager.h"
|
|
#include "Button.h"
|
|
#include "Menu.h"
|
|
|
|
#define FIRMWARE_VERSION "v0.1"
|
|
|
|
DisplayManager display;
|
|
SensorManager sensor(10);
|
|
|
|
Button downButton(3);
|
|
Button upButton(4);
|
|
Button okButton(2);
|
|
Button backButton(5);
|
|
|
|
Menu menu;
|
|
|
|
void setup() {
|
|
display.begin();
|
|
sensor.begin();
|
|
|
|
upButton.begin();
|
|
downButton.begin();
|
|
okButton.begin();
|
|
backButton.begin();
|
|
}
|
|
|
|
void loop() {
|
|
unsigned long now = millis();
|
|
|
|
upButton.update(now);
|
|
downButton.update(now);
|
|
okButton.update(now);
|
|
backButton.update(now);
|
|
|
|
sensor.update(now);
|
|
|
|
if (upButton.pressed()) {
|
|
menu.next();
|
|
}
|
|
|
|
if (downButton.pressed()) {
|
|
menu.prev();
|
|
}
|
|
|
|
if (okButton.pressed()) {
|
|
menu.enter();
|
|
}
|
|
|
|
if(backButton.pressed()) {
|
|
menu.back();
|
|
}
|
|
|
|
if (display.ready(now)) {
|
|
if (menu.isEditing() && strcmp(menu.getCurrent(), "Temperature") == 0) {
|
|
display.showText(
|
|
"Set Temp",
|
|
String(menu.getTargetTemperature()) + " C"
|
|
);
|
|
}
|
|
|
|
else if (menu.isEditing() && strcmp(menu.getCurrent(), "Humidity") == 0) {
|
|
display.showText(
|
|
"Set Humidity",
|
|
String(menu.getTargetHumidity()) + " %"
|
|
);
|
|
}
|
|
|
|
else {
|
|
display.showText(
|
|
String("") + sensor.getTemp() + "C " + sensor.getHumidity() + "%",
|
|
String("[") + menu.getCurrent() + String("] ")
|
|
);
|
|
}
|
|
|
|
}
|
|
} |