From 5aa6f9482f2cce7d9bf89b5944ae9c4af4c5812d Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Tue, 28 Jul 2020 22:22:14 +0200 Subject: [PATCH] button with name --- include/Cmd.h | 37 +++++++++++++++ include/Consts.h | 4 +- include/Global.h | 40 +--------------- include/Init.h | 11 +++++ include/Module/Runner.h | 1 + src/Cmd.cpp | 101 +++++++--------------------------------- src/Init.cpp | 5 +- src/MqttClient.cpp | 1 + src/Scenario.cpp | 1 + src/Web.cpp | 1 + src/main.cpp | 3 +- 11 files changed, 77 insertions(+), 128 deletions(-) create mode 100644 include/Cmd.h create mode 100644 include/Init.h diff --git a/include/Cmd.h b/include/Cmd.h new file mode 100644 index 00000000..6f7f6c81 --- /dev/null +++ b/include/Cmd.h @@ -0,0 +1,37 @@ +#pragma once + +#include + +extern void cmd_init(); +extern void itemInit(); +extern void button(); +extern void buttonSet(); +extern void buttonChange(); +extern void pinSet(); +extern void pinChange(); +extern void handle_time_init(); +extern void pwm(); +extern void switch_(); +extern void pwmSet(); +extern void stepper(); +extern void stepperSet(); +extern void servo_(); +extern void servoSet(); +extern void serialBegin(); +extern void serialWrite(); +extern void logging(); +extern void inputDigit(); +extern void digitSet(); +extern void inputTime(); +extern void button(); +extern void timeSet(); +extern void text(); +extern void textSet(); +extern void mqttOrderSend(); +extern void httpOrderSend(); +extern void firmwareVersion(); +extern void firmwareUpdate(); +extern void loadScenario(); + +extern void fileExecute(const String& filename); +extern void stringExecute(String& cmdStr); \ No newline at end of file diff --git a/include/Consts.h b/include/Consts.h index f5b2cb38..ea94ed68 100644 --- a/include/Consts.h +++ b/include/Consts.h @@ -7,8 +7,8 @@ #define LED_PIN 2 #define FLASH_4MB true #define MQTT_RECONNECT_INTERVAL 20000 -// 1000 * 60 * 60 * 2 -#define TELEMETRY_UPDATE_INTERVAL 0 + +#define TELEMETRY_UPDATE_INTERVAL 7200000 #define DEVICE_CONFIG_FILE "dev_conf.txt" #define DEVICE_SCENARIO_FILE "dev_scen.txt" diff --git a/include/Global.h b/include/Global.h index 3ba69986..90a99aa9 100644 --- a/include/Global.h +++ b/include/Global.h @@ -129,46 +129,8 @@ extern int sensors_reading_map[15]; * Global functions */ -// Cmd -extern void cmd_init(); -extern void button(); -extern void buttonSet(); -extern void buttonChange(); -extern void pinSet(); -extern void pinChange(); -extern void handle_time_init(); -extern void pwm(); -extern void switch_(); -extern void pwmSet(); -extern void stepper(); -extern void stepperSet(); -extern void servo_(); -extern void servoSet(); -extern void serialBegin(); -extern void serialWrite(); -extern void logging(); -extern void inputDigit(); -extern void digitSet(); -extern void inputTime(); -extern void button(); -extern void timeSet(); -extern void text(); -extern void textSet(); -extern void mqttOrderSend(); -extern void httpOrderSend(); -extern void firmwareVersion(); -extern void firmwareUpdate(); -extern void loadScenario(); -extern void fileExecute(const String& filename); -extern void stringExecute(String& cmdStr); -// Init -extern void loadConfig(); -extern void all_init(); -extern void statistics_init(); -extern void loadScenario(); -extern void Device_init(); -extern void prsets_init(); + // Logging extern void logging(); diff --git a/include/Init.h b/include/Init.h new file mode 100644 index 00000000..6b4c744e --- /dev/null +++ b/include/Init.h @@ -0,0 +1,11 @@ +#pragma once + +extern void loadConfig(); +extern void all_init(); +extern void statistics_init(); +extern void loadScenario(); +extern void Device_init(); +extern void prsets_init(); +extern void handle_uptime(); +extern void handle_statistics(); +extern void telemetry_init(); \ No newline at end of file diff --git a/include/Module/Runner.h b/include/Module/Runner.h index 40f390ee..3d15c421 100644 --- a/include/Module/Runner.h +++ b/include/Module/Runner.h @@ -1,6 +1,7 @@ #pragma once #include +#include "Cmd.h" class Runner { public: diff --git a/src/Cmd.cpp b/src/Cmd.cpp index f474c3f1..d9e16d91 100644 --- a/src/Cmd.cpp +++ b/src/Cmd.cpp @@ -1,3 +1,5 @@ +#include "Cmd.h" + #include "Global.h" #include "Module/Terminal.h" #include "Servo/Servos.h" @@ -105,9 +107,14 @@ void cmd_init() { handle_time_init(); } -//========================================================================================================== //==========================================Модуль кнопок=================================================== //button out light toggle Кнопки Свет 1 pin[12] inv[1] st[1] +//void button() { +// void itemInit(); +//} + +//========================================================================================================== + void button() { String command = sCmd.order(); pm.info("create '" + command + "'"); @@ -137,107 +144,33 @@ void button() { } } - Serial.println(pin); - Serial.println(inv); - Serial.println(state); - createWidget(descr, page, order, file, key); sCmd.addCommand(key.c_str(), buttonSet); if (pin != "") { pinMode(pin.toInt(), OUTPUT); + jsonWriteStr(configOptionJson, key + "_pin", pin); } if (state != "") { digitalWrite(pin.toInt(), state.toInt()); + jsonWriteStr(configLiveJson, key, state); } } -//void button() { -// pm.info("create 'button'"); -// String number = sCmd.next(); -// String param = sCmd.next(); -// String widget = sCmd.next(); -// String page = sCmd.next(); -// String state = sCmd.next(); -// String pageNumber = sCmd.next(); -// -// jsonWriteStr(configOptionJson, "button_param" + number, param); -// jsonWriteStr(configLiveJson, "button" + number, state); -// -// if (isDigitStr(param)) { -// pinMode(param.toInt(), OUTPUT); -// digitalWrite(param.toInt(), state.toInt()); -// } -// -// if (param == "scen") { -// jsonWriteStr(configSetupJson, "scen", state); -// loadScenario(); -// saveConfig(); -// } -// -// if (param.indexOf("line") != -1) { -// String str = param; -// while (str.length()) { -// if (str == "") return; -// String tmp = selectToMarker(str, ","); //line1, -// String number = deleteBeforeDelimiter(tmp, "e"); //1, -// number.replace(",", ""); -// Serial.println(number); -// int number_int = number.toInt(); -// scenario_line_status[number_int] = state.toInt(); -// str = deleteBeforeDelimiter(str, ","); -// } -// } -// createWidget(widget, page, pageNumber, "toggle", "button" + number); -//} - void buttonSet() { - String order = sCmd.order(); + String key = sCmd.order(); String state = sCmd.next(); - //Serial.println(order); + int pin = jsonReadInt(configOptionJson, key + "_pin"); + digitalWrite(pin, state.toInt()); - eventGen(order, ""); - jsonWriteStr(configLiveJson, order, state); - MqttClient::publishStatus(order, state); + eventGen(key, ""); + jsonWriteStr(configLiveJson, key, state); + MqttClient::publishStatus(key, state); } -//void buttonSet() { -// String button_number = sCmd.next(); -// String button_state = sCmd.next(); -// String button_param = jsonReadStr(configOptionJson, "button_param" + button_number); -// -// if (button_param != "na" || button_param != "scen" || button_param.indexOf("line") != -1) { -// digitalWrite(button_param.toInt(), button_state.toInt()); -// } -// -// if (button_param == "scen") { -// jsonWriteStr(configSetupJson, "scen", button_state); -// loadScenario(); -// saveConfig(); -// } -// -// if (button_param.indexOf("line") != -1) { -// String str = button_param; -// while (str.length() != 0) { -// if (str == "") return; -// String tmp = selectToMarker(str, ","); //line1, -// String number = deleteBeforeDelimiter(tmp, "e"); //1, -// number.replace(",", ""); -// Serial.println(number); -// int number_int = number.toInt(); -// scenario_line_status[number_int] = button_state.toInt(); -// str = deleteBeforeDelimiter(str, ","); -// } -// } -// -// eventGen("button", button_number); -// jsonWriteStr(configLiveJson, "button" + button_number, button_state); -// MqttClient::publishStatus("button" + button_number, button_state); -//} - void buttonChange() { String button_number = sCmd.next(); if (!isDigitStr(button_number)) { @@ -545,6 +478,8 @@ void servoSet() { MqttClient::publishStatus("servo" + number, String(value, DEC)); } #endif +//==================================================================================================================================================== +//=============================================================Модуль сериал порта======================================================================= #ifdef SERIAL_ENABLED void serialBegin() { diff --git a/src/Init.cpp b/src/Init.cpp index 75d43ebb..b5e79442 100644 --- a/src/Init.cpp +++ b/src/Init.cpp @@ -1,8 +1,7 @@ #include "Global.h" +#include "Init.h" +#include "Cmd.h" -void handle_uptime(); -void handle_statistics(); -void telemetry_init(); void loadConfig() { configSetupJson = readFile("config.json", 4096); diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index 74f331c4..d71da238 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -1,5 +1,6 @@ #include "MqttClient.h" #include "Global.h" +#include "Init.h" #include static const char* MODULE = "Mqtt"; diff --git a/src/Scenario.cpp b/src/Scenario.cpp index 68269424..c7304422 100644 --- a/src/Scenario.cpp +++ b/src/Scenario.cpp @@ -1,4 +1,5 @@ #include "Global.h" +#include "Cmd.h" static const char* MODULE = "Scen"; diff --git a/src/Web.cpp b/src/Web.cpp index ef5d8fbd..f3813638 100644 --- a/src/Web.cpp +++ b/src/Web.cpp @@ -1,4 +1,5 @@ #include "Global.h" +#include "Init.h" static const char* MODULE = "Web"; diff --git a/src/main.cpp b/src/main.cpp index 7dcb3b06..ae3bb5a2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ #include "Global.h" - +#include "Init.h" +#include "Cmd.h" #include "HttpServer.h" #include "Bus/BusScannerFactory.h" #include "Utils/Timings.h"