mcopy/ino/components/mcopy_light/McopySerial.cpp

68 lines
1.1 KiB
C++
Raw Normal View History

2023-03-18 21:13:41 +00:00
/// mcopy Serial Library
#include "McopySerial.h"
McopySerial::McopySerial () {}
2023-03-18 21:13:41 +00:00
void McopySerial::begin (char identity) {
id = identity;
2023-03-18 21:13:41 +00:00
Serial.begin(baud);
Serial.flush();
Serial.setTimeout(serialDelay);
2023-03-18 21:13:41 +00:00
}
char McopySerial::loop () {
if (Serial.available()) {
cmdChar = (char) Serial.read();
_internal();
} else {
cmdChar = 'z';
}
return cmdChar;
}
void McopySerial::_internal () {
if (cmdChar == DEBUG) {
debug(!debugOn);
2023-03-18 21:13:41 +00:00
} else if (cmdChar == CONNECT) {
_connect();
} else if (cmdChar == MCOPY_IDENTIFIER) {
_identify();
}
}
void McopySerial::_connect () {
Serial.println(CONNECT);
log("connect()");
}
void McopySerial::_identify () {
Serial.println(id);
log("identify()");
}
void McopySerial::debug (bool state) {
debugOn = state;
log("debug()");
2023-03-18 21:13:41 +00:00
}
void McopySerial::confirm (char cmd) {
Serial.println(cmd);
}
void McopySerial::log (String message) {
if (debugOn) {
Serial.println(message);
}
}
String McopySerial::getString () {
while (Serial.available() == 0) {
//Wait for value string
}
return Serial.readString();
}
void McopySerial::print (String message) {
Serial.println(message);
}