From 7ece72b39a003c9793a77628e93235964c8cfd57 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 2 Apr 2022 12:46:36 +0100 Subject: simple serial command protocol tagged responses, just because --- main.ino | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'main.ino') 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); } -- cgit v1.2.3