aboutsummaryrefslogtreecommitdiff
path: root/main.ino
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2022-04-02 12:46:36 +0100
committerdakkar <dakkar@thenautilus.net>2022-04-02 12:46:36 +0100
commit7ece72b39a003c9793a77628e93235964c8cfd57 (patch)
tree5c4442b7f4b23ff1287e8c53443a33610ee84046 /main.ino
parentprefix for Serial prints (diff)
downloadenv-sensor-7ece72b39a003c9793a77628e93235964c8cfd57.tar.gz
env-sensor-7ece72b39a003c9793a77628e93235964c8cfd57.tar.bz2
env-sensor-7ece72b39a003c9793a77628e93235964c8cfd57.zip
simple serial command protocol
tagged responses, just because
Diffstat (limited to 'main.ino')
-rw-r--r--main.ino26
1 files changed, 26 insertions, 0 deletions
diff --git a/main.ino b/main.ino
index 1963870..4eb35cc 100644
--- a/main.ino
+++ b/main.ino
@@ -17,6 +17,25 @@ SensorData data;
Display display;
DataLog datalog;
+void handleCommand(const String &line) {
+ int firstSpace = line.indexOf(' ');
+ if (firstSpace < 0) return;
+
+ String tag = line.substring(0,firstSpace);
+ String command = line.substring(firstSpace+1);
+ tag.trim();command.trim();
+
+ Serial.print("# <");Serial.print(tag);
+ Serial.print("|");Serial.print(command);
+ Serial.println(">");
+
+ if (battery.serialCommand(tag,command)) return;
+ if (pm.serialCommand(tag,command)) return;
+ if (co2.serialCommand(tag,command)) return;
+ if (display.serialCommand(tag,command)) return;
+ if (datalog.serialCommand(tag,command)) return;
+}
+
void setup() {
Serial.begin(115200);
while (!Serial) {
@@ -51,5 +70,12 @@ void loop() {
datalog.show(&data);
}
+ if (Serial.available()) {
+ Serial.println("# reading");
+ String line = Serial.readStringUntil('\n');
+ Serial.print("# ");Serial.println(line);
+ handleCommand(line);
+ }
+
delay(5000);
}