This commit is contained in:
Yuri Trikoz
2020-06-25 09:21:42 +03:00
parent 5ed1c23c62
commit 7c61ff2810
17 changed files with 182 additions and 254 deletions

View File

@@ -13,6 +13,8 @@ Servo myServo1;
Servo myServo2;
SoftwareSerial *mySerial = nullptr;
void getData();
void CMD_init() {
sCmd.addCommand("button", button);
sCmd.addCommand("buttonSet", buttonSet);
@@ -97,36 +99,38 @@ void CMD_init() {
sCmd.addCommand("firmwareUpdate", firmwareUpdate);
sCmd.addCommand("firmwareVersion", firmwareVersion);
sCmd.addCommand("getData", getData);
handle_time_init();
}
//==========================================================================================================
//==========================================Модуль кнопок===================================================
void button() {
pm.info("create button");
String button_number = sCmd.next();
String button_param = sCmd.next();
pm.info("create 'button'");
String number = sCmd.next();
String param = sCmd.next();
String widget = sCmd.next();
String page = sCmd.next();
String start_state = sCmd.next();
String state = sCmd.next();
String pageNumber = sCmd.next();
jsonWriteStr(configOptionJson, "button_param" + button_number, button_param);
jsonWriteStr(configLiveJson, "button" + button_number, start_state);
jsonWriteStr(configOptionJson, "button_param" + number, param);
jsonWriteStr(configLiveJson, "button" + number, state);
if (isDigitStr(button_param)) {
pinMode(button_param.toInt(), OUTPUT);
digitalWrite(button_param.toInt(), start_state.toInt());
if (isDigitStr(param)) {
pinMode(param.toInt(), OUTPUT);
digitalWrite(param.toInt(), state.toInt());
}
if (button_param == "scen") {
jsonWriteStr(configSetupJson, "scen", start_state);
if (param == "scen") {
jsonWriteStr(configSetupJson, "scen", state);
loadScenario();
saveConfig();
}
if (button_param.indexOf("line") != -1) {
String str = button_param;
if (param.indexOf("line") != -1) {
String str = param;
while (str.length()) {
if (str == "") return;
String tmp = selectToMarker(str, ","); //line1,
@@ -134,11 +138,11 @@ void button() {
number.replace(",", "");
Serial.println(number);
int number_int = number.toInt();
scenario_line_status[number_int] = start_state.toInt();
scenario_line_status[number_int] = state.toInt();
str = deleteBeforeDelimiter(str, ",");
}
}
createWidget(widget, page, pageNumber, "toggle", "button" + button_number);
createWidget(widget, page, pageNumber, "toggle", "button" + number);
}
void buttonSet() {
@@ -547,6 +551,14 @@ void serialBegin() {
});
}
void getData() {
String param = sCmd.next();
String res = param.length() ? jsonReadStr(configLiveJson, param) : configLiveJson;
if (term) {
term->println(res.c_str());
}
}
void serialWrite() {
String payload = sCmd.next();
if (term) {
@@ -578,11 +590,13 @@ void firmwareUpdate() {
}
void firmwareVersion() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
String widget = sCmd.next();
String page = sCmd.next();
String pageNumber = sCmd.next();
jsonWriteStr(configLiveJson, "firmver", FIRMWARE_VERSION);
createWidgetByType(widget_name, page_name, page_number, "anydata", "firmver");
createWidget(widget, page, pageNumber, "anydata", "firmver");
}
void addCommandLoop(const String &cmdStr) {
@@ -596,7 +610,7 @@ void loopCmd() {
if (order_loop.length()) {
String tmp = selectToMarker(order_loop, ","); //выделяем первую команду rel 5 1,
sCmd.readStr(tmp); //выполняем
Serial.println("[ORDER] => " + order_loop);
pm.info("do: " + order_loop);
order_loop = deleteBeforeDelimiter(order_loop, ","); //осекаем
}
}