KEK/ESP32/esp32.cpp
2022-03-19 13:21:29 +01:00

37 lines
561 B
C++

#include <Arduino.h>
std::string read_terminal_line(const std::string & prompt)
{
Serial.print(prompt.c_str());
Serial.print(F(">"));
std::string str;
for(;;) {
if (Serial.available()) {
char c = Serial.read();
if (c == 13 || c == 10)
break;
if (c == 8) {
if (!str.empty()) {
str = str.substr(0, str.size() - 1);
Serial.print(char(8));
Serial.print(' ');
Serial.print(char(8));
}
}
else if (c >= 32 && c < 127) {
str += c;
Serial.print(c);
}
}
}
Serial.println(F(""));
return str;
}