Files
IoTManager/src/BufferExecute.cpp

74 lines
1.9 KiB
C++
Raw Normal View History

2020-09-04 18:58:03 +03:00
#include "BufferExecute.h"
#include "Global.h"
#include "Module/Terminal.h"
#include "Errors.h"
2020-09-17 17:27:44 +03:00
2020-09-04 18:58:03 +03:00
void loopCmdAdd(const String &cmdStr) {
orderBuf += cmdStr;
if (!cmdStr.endsWith(",")) {
orderBuf += ",";
}
}
void fileCmdExecute(const String &filename) {
String cmdStr = readFile(filename, 2048);
csvCmdExecute(cmdStr);
}
void csvCmdExecute(String &cmdStr) {
2020-09-04 18:58:03 +03:00
cmdStr.replace(";", " ");
cmdStr += "\r\n";
cmdStr.replace("\r\n", "\n");
cmdStr.replace("\r", "\n");
int count = 0;
while (cmdStr.length()) {
String buf = selectToMarker(cmdStr, "\n");
buf = deleteBeforeDelimiter(buf, " "); //отсечка чекбокса
2020-09-04 18:58:03 +03:00
count++;
if (count > 1) sCmd.readStr(buf);
cmdStr = deleteBeforeDelimiter(cmdStr, "\n");
}
}
void spaceCmdExecute(String &cmdStr) {
cmdStr += "\r\n";
cmdStr.replace("\r\n", "\n");
cmdStr.replace("\r", "\n");
while (cmdStr.length()) {
String buf = selectToMarker(cmdStr, "\n");
sCmd.readStr(buf);
cmdStr = deleteBeforeDelimiter(cmdStr, "\n");
}
}
void loopCmdExecute() {
if (orderBuf.length()) {
String tmp = selectToMarker(orderBuf, ","); //выделяем первую команду rel 5 1,
2020-09-17 21:51:56 +03:00
SerialPrint("I","CMD","do: " + tmp);
2020-09-04 18:58:03 +03:00
sCmd.readStr(tmp); //выполняем
orderBuf = deleteBeforeDelimiter(orderBuf, ","); //осекаем
}
}
void sensorsInit() {
ts.add(
SENSORS, 10000, [&](void *) {
String buf = sensorReadingMap;
while (buf.length()) {
String tmp = selectToMarker(buf, ",");
sCmd.readStr(tmp);
buf = deleteBeforeDelimiter(buf, ",");
}
},
nullptr, true);
}
//void loopSerial() {
// if (term) {
// term->loop();
// }
//}