changed json var names to more visible

This commit is contained in:
Dmitry Borisenko
2020-06-19 14:50:34 +02:00
parent e6637dcd69
commit 48ba3c99dd
18 changed files with 428 additions and 340 deletions

View File

@@ -2,7 +2,8 @@
#include "push_pushingbox.h"
void CMD_init() {
void CMD_init()
{
sCmd.addCommand("button", button);
sCmd.addCommand("buttonSet", buttonSet);
sCmd.addCommand("buttonChange", buttonChange);
@@ -19,7 +20,8 @@ void CMD_init() {
sCmd.addCommand("analog", analog);
#endif
#ifdef level_enable
sCmd.addCommand("level", level);
sCmd.addCommand("levelPr", levelPr);
sCmd.addCommand("ultrasonicCm", ultrasonicCm);
#endif
#ifdef dallas_enable
sCmd.addCommand("dallas", dallas);
@@ -82,13 +84,14 @@ void CMD_init() {
sCmd.addCommand("push", pushControl);
#endif
sCmd.addCommand("update", update_firmware);
sCmd.addCommand("firmware", firmware);
sCmd.addCommand("firmwareUpdate", firmwareUpdate);
sCmd.addCommand("firmwareVersion", firmwareVersion);
handle_time_init();
}
void button() {
void button()
{
String button_number = sCmd.next();
String button_param = sCmd.next();
String widget_name = sCmd.next();
@@ -96,26 +99,31 @@ void button() {
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(optionJson, "button_param" + button_number, button_param);
jsonWriteStr(configJson, "button" + button_number, start_state);
jsonWriteStr(configOptionJson, "button_param" + button_number, button_param);
jsonWriteStr(configLiveJson, "button" + button_number, start_state);
if (isDigitStr(button_param)) {
if (isDigitStr(button_param))
{
pinMode(button_param.toInt(), OUTPUT);
digitalWrite(button_param.toInt(), start_state.toInt());
}
if (button_param == "scenario") {
jsonWriteStr(configSetup, "scenario", start_state);
if (button_param == "scenario")
{
jsonWriteStr(configSetupJson, "scenario", start_state);
Scenario_init();
saveConfig();
}
if (button_param.indexOf("line") != -1) {
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,
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();
@@ -126,27 +134,33 @@ void button() {
createWidget(widget_name, page_name, page_number, "widgets/widget.toggle.json", "button" + button_number);
}
void buttonSet() {
void buttonSet()
{
String button_number = sCmd.next();
String button_state = sCmd.next();
String button_param = jsonReadStr(optionJson, "button_param" + button_number);
String button_param = jsonReadStr(configOptionJson, "button_param" + button_number);
if (button_param != "na" || button_param != "scenario" || button_param.indexOf("line") != -1) {
if (button_param != "na" || button_param != "scenario" || button_param.indexOf("line") != -1)
{
digitalWrite(button_param.toInt(), button_state.toInt());
}
if (button_param == "scenario") {
jsonWriteStr(configSetup, "scenario", button_state);
if (button_param == "scenario")
{
jsonWriteStr(configSetupJson, "scenario", button_state);
Scenario_init();
saveConfig();
}
if (button_param.indexOf("line") != -1) {
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,
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();
@@ -157,37 +171,44 @@ void buttonSet() {
eventGen("button", button_number);
jsonWriteStr(configJson, "button" + button_number, button_state);
jsonWriteStr(configLiveJson, "button" + button_number, button_state);
sendSTATUS("button" + button_number, button_state);
}
void buttonChange() {
void buttonChange()
{
String button_number = sCmd.next();
String current_state = jsonReadStr(configJson, "button" + button_number);
if (current_state == "1") {
String current_state = jsonReadStr(configLiveJson, "button" + button_number);
if (current_state == "1")
{
current_state = "0";
} else if (current_state == "0") {
}
else if (current_state == "0")
{
current_state = "1";
}
order_loop += "buttonSet " + button_number + " " + current_state + ",";
jsonWriteStr(configJson, "button" + button_number, current_state);
jsonWriteStr(configLiveJson, "button" + button_number, current_state);
sendSTATUS("button" + button_number, current_state);
}
void pinSet() {
void pinSet()
{
String pin_number = sCmd.next();
String pin_state = sCmd.next();
pinMode(pin_number.toInt(), OUTPUT);
digitalWrite(pin_number.toInt(), pin_state.toInt());
}
void pinChange() {
void pinChange()
{
String pin_number = sCmd.next();
pinMode(pin_number.toInt(), OUTPUT);
digitalWrite(pin_number.toInt(), !digitalRead(pin_number.toInt()));
}
void pwm() {
void pwm()
{
// TODO Unused
// static boolean flag = true;
String pwm_number = sCmd.next();
@@ -199,29 +220,31 @@ void pwm() {
String page_number = sCmd.next();
uint8_t pwm_pin_int = pwm_pin.toInt();
jsonWriteStr(optionJson, "pwm_pin" + pwm_number, pwm_pin);
jsonWriteStr(configOptionJson, "pwm_pin" + pwm_number, pwm_pin);
pinMode(pwm_pin_int, INPUT);
analogWrite(pwm_pin_int, start_state.toInt());
jsonWriteStr(configJson, "pwm" + pwm_number, start_state);
jsonWriteStr(configLiveJson, "pwm" + pwm_number, start_state);
createWidget(widget_name, page_name, page_number, "widgets/widget.range.json", "pwm" + pwm_number);
}
void pwmSet() {
void pwmSet()
{
String pwm_number = sCmd.next();
String pwm_state = sCmd.next();
int pwm_state_int = pwm_state.toInt();
int pin = jsonReadInt(optionJson, "pwm_pin" + pwm_number);
int pin = jsonReadInt(configOptionJson, "pwm_pin" + pwm_number);
analogWrite(pin, pwm_state_int);
eventGen("pwm", pwm_number);
jsonWriteStr(configJson, "pwm" + pwm_number, pwm_state);
jsonWriteStr(configLiveJson, "pwm" + pwm_number, pwm_state);
sendSTATUS("pwm" + pwm_number, pwm_state);
}
//==================================================================================================================
//==========================================Модуль физической кнопки================================================
void switch_() {
void switch_()
{
String switch_number = sCmd.next();
String switch_pin = sCmd.next();
String switch_delay = sCmd.next();
@@ -231,27 +254,33 @@ void switch_() {
but[switch_number.toInt()] = true;
}
void handleButton() {
void handleButton()
{
static uint8_t switch_number = 1;
if (but[switch_number]) {
if (but[switch_number])
{
buttons[switch_number].update();
if (buttons[switch_number].fell()) {
if (buttons[switch_number].fell())
{
eventGen("switch", String(switch_number));
jsonWriteStr(configJson, "switch" + String(switch_number), "1");
jsonWriteStr(configLiveJson, "switch" + String(switch_number), "1");
}
if (buttons[switch_number].rose()) {
if (buttons[switch_number].rose())
{
eventGen("switch", String(switch_number));
jsonWriteStr(configJson, "switch" + String(switch_number), "0");
jsonWriteStr(configLiveJson, "switch" + String(switch_number), "0");
}
}
switch_number++;
if (switch_number == NUM_BUTTONS) switch_number = 0;
if (switch_number == NUM_BUTTONS)
switch_number = 0;
}
void inputDigit() {
void inputDigit()
{
String value_name = sCmd.next();
String number = value_name.substring(5);
String widget_name = sCmd.next();
@@ -260,18 +289,20 @@ void inputDigit() {
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "digit" + number, start_state);
jsonWriteStr(configLiveJson, "digit" + number, start_state);
createWidget(widget_name, page_name, page_number, "widgets/widget.inputNum.json", "digit" + number);
}
void digitSet() {
void digitSet()
{
String number = sCmd.next();
String value = sCmd.next();
jsonWriteStr(configJson, "digit" + number, value);
jsonWriteStr(configLiveJson, "digit" + number, value);
sendSTATUS("digit" + number, value);
}
void inputTime() {
void inputTime()
{
String value_name = sCmd.next();
String number = value_name.substring(4);
String widget_name = sCmd.next();
@@ -280,30 +311,33 @@ void inputTime() {
page_name.replace("#", " ");
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "time" + number, start_state);
jsonWriteStr(configLiveJson, "time" + number, start_state);
createWidget(widget_name, page_name, page_number, "widgets/widget.inputTime.json", "time" + number);
}
void timeSet() {
void timeSet()
{
String number = sCmd.next();
String value = sCmd.next();
jsonWriteStr(configJson, "time" + number, value);
jsonWriteStr(configLiveJson, "time" + number, value);
sendSTATUS("time" + number, value);
}
void handle_time_init() {
void handle_time_init()
{
ts.add(
TIME, 1000, [&](void*) {
TIME, 1000, [&](void *) {
String tmp = GetTime();
jsonWriteStr(configJson, "time", tmp);
jsonWriteStr(configLiveJson, "time", tmp);
tmp.replace(":", "-");
jsonWriteStr(configJson, "timenow", tmp);
jsonWriteStr(configLiveJson, "timenow", tmp);
eventGen("timenow", "");
},
nullptr, true);
}
void text() {
void text()
{
String number = sCmd.next();
String widget_name = sCmd.next();
String page_name = sCmd.next();
@@ -312,12 +346,14 @@ void text() {
createWidget(widget_name, page_name, page_number, "widgets/widget.anyData.json", "text" + number);
}
void textSet() {
void textSet()
{
String number = sCmd.next();
String text = sCmd.next();
text.replace("_", " ");
if (text.indexOf("-time") >= 0) {
if (text.indexOf("-time") >= 0)
{
text.replace("-time", "");
text.replace("#", " ");
String time = GetTime();
@@ -325,44 +361,50 @@ void textSet() {
text = text + " " + GetDataDigital() + " " + time;
}
jsonWriteStr(configJson, "text" + number, text);
jsonWriteStr(configLiveJson, "text" + number, text);
sendSTATUS("text" + number, text);
}
#ifdef stepper_enable
//stepper 1 12 13
void stepper() {
void stepper()
{
String stepper_number = sCmd.next();
String pin_step = sCmd.next();
String pin_dir = sCmd.next();
jsonWriteStr(optionJson, "stepper" + stepper_number, pin_step + " " + pin_dir);
jsonWriteStr(configOptionJson, "stepper" + stepper_number, pin_step + " " + pin_dir);
pinMode(pin_step.toInt(), OUTPUT);
pinMode(pin_dir.toInt(), OUTPUT);
}
//stepperSet 1 100 5
void stepperSet() {
void stepperSet()
{
String stepper_number = sCmd.next();
String steps = sCmd.next();
jsonWriteStr(optionJson, "steps" + stepper_number, steps);
jsonWriteStr(configOptionJson, "steps" + stepper_number, steps);
String stepper_speed = sCmd.next();
String pin_step = selectToMarker(jsonReadStr(optionJson, "stepper" + stepper_number), " ");
String pin_dir = deleteBeforeDelimiter(jsonReadStr(optionJson, "stepper" + stepper_number), " ");
String pin_step = selectToMarker(jsonReadStr(configOptionJson, "stepper" + stepper_number), " ");
String pin_dir = deleteBeforeDelimiter(jsonReadStr(configOptionJson, "stepper" + stepper_number), " ");
Serial.println(pin_step);
Serial.println(pin_dir);
if (steps.toInt() > 0) digitalWrite(pin_dir.toInt(), HIGH);
if (steps.toInt() < 0) digitalWrite(pin_dir.toInt(), LOW);
if (stepper_number == "1") {
if (steps.toInt() > 0)
digitalWrite(pin_dir.toInt(), HIGH);
if (steps.toInt() < 0)
digitalWrite(pin_dir.toInt(), LOW);
if (stepper_number == "1")
{
ts.add(
STEPPER1, stepper_speed.toInt(), [&](void*) {
int steps_int = abs(jsonReadInt(optionJson, "steps1") * 2);
STEPPER1, stepper_speed.toInt(), [&](void *) {
int steps_int = abs(jsonReadInt(configOptionJson, "steps1") * 2);
static int count;
count++;
String pin_step = selectToMarker(jsonReadStr(optionJson, "stepper1"), " ");
String pin_step = selectToMarker(jsonReadStr(configOptionJson, "stepper1"), " ");
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
yield();
if (count > steps_int) {
if (count > steps_int)
{
digitalWrite(pin_step.toInt(), LOW);
ts.remove(STEPPER1);
count = 0;
@@ -370,16 +412,18 @@ void stepperSet() {
},
nullptr, true);
}
if (stepper_number == "2") {
if (stepper_number == "2")
{
ts.add(
STEPPER2, stepper_speed.toInt(), [&](void*) {
int steps_int = abs(jsonReadInt(optionJson, "steps2") * 2);
STEPPER2, stepper_speed.toInt(), [&](void *) {
int steps_int = abs(jsonReadInt(configOptionJson, "steps2") * 2);
static int count;
count++;
String pin_step = selectToMarker(jsonReadStr(optionJson, "stepper2"), " ");
String pin_step = selectToMarker(jsonReadStr(configOptionJson, "stepper2"), " ");
digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt()));
yield();
if (count > steps_int) {
if (count > steps_int)
{
digitalWrite(pin_step.toInt(), LOW);
ts.remove(STEPPER2);
count = 0;
@@ -393,7 +437,8 @@ void stepperSet() {
//=================================================================Сервоприводы=======================================================================
#ifdef servo_enable
//servo 1 13 50 Мой#сервопривод Сервоприводы 0 100 0 180 2
void servo_() {
void servo_()
{
String servo_number = sCmd.next();
String servo_pin = sCmd.next();
String start_state = sCmd.next();
@@ -409,10 +454,11 @@ void servo_() {
String page_number = sCmd.next();
jsonWriteStr(optionJson, "servo_pin" + servo_number, servo_pin);
jsonWriteStr(configOptionJson, "servo_pin" + servo_number, servo_pin);
start_state_int = map(start_state_int, min_value.toInt(), max_value.toInt(), min_deg.toInt(), max_deg.toInt());
if (servo_number == "1") {
if (servo_number == "1")
{
#ifdef ESP8266
myServo1.attach(servo_pin.toInt());
myServo1.write(start_state_int);
@@ -423,7 +469,8 @@ void servo_() {
#endif
}
if (servo_number == "2") {
if (servo_number == "2")
{
#ifdef ESP8266
myServo2.attach(servo_pin.toInt());
myServo2.write(start_state_int);
@@ -434,31 +481,33 @@ void servo_() {
#endif
}
jsonWriteStr(optionJson, "s_min_val" + servo_number, min_value);
jsonWriteStr(optionJson, "s_max_val" + servo_number, max_value);
jsonWriteStr(optionJson, "s_min_deg" + servo_number, min_deg);
jsonWriteStr(optionJson, "s_max_deg" + servo_number, max_deg);
jsonWriteStr(configOptionJson, "s_min_val" + servo_number, min_value);
jsonWriteStr(configOptionJson, "s_max_val" + servo_number, max_value);
jsonWriteStr(configOptionJson, "s_min_deg" + servo_number, min_deg);
jsonWriteStr(configOptionJson, "s_max_deg" + servo_number, max_deg);
jsonWriteStr(configJson, "servo" + servo_number, start_state);
jsonWriteStr(configLiveJson, "servo" + servo_number, start_state);
createWidgetParam(widget_name, page_name, page_number, "widgets/widget.range.json", "servo" + servo_number, "min", min_value, "max", max_value, "k", "1");
}
void servoSet() {
void servoSet()
{
String servo_number = sCmd.next();
String servo_state = sCmd.next();
int servo_state_int = servo_state.toInt();
// TODO Unused
//int pin = jsonReadInt(optionJson, "servo_pin" + servo_number);
//int pin = jsonReadInt(configOptionJson, "servo_pin" + servo_number);
servo_state_int = map(servo_state_int,
jsonReadInt(optionJson, "s_min_val" + servo_number),
jsonReadInt(optionJson, "s_max_val" + servo_number),
jsonReadInt(optionJson, "s_min_deg" + servo_number),
jsonReadInt(optionJson, "s_max_deg" + servo_number));
jsonReadInt(configOptionJson, "s_min_val" + servo_number),
jsonReadInt(configOptionJson, "s_max_val" + servo_number),
jsonReadInt(configOptionJson, "s_min_deg" + servo_number),
jsonReadInt(configOptionJson, "s_max_deg" + servo_number));
if (servo_number == "1") {
if (servo_number == "1")
{
#ifdef ESP8266
myServo1.write(servo_state_int);
#endif
@@ -467,7 +516,8 @@ void servoSet() {
#endif
}
if (servo_number == "2") {
if (servo_number == "2")
{
#ifdef ESP8266
myServo2.write(servo_state_int);
#endif
@@ -478,14 +528,15 @@ void servoSet() {
eventGen("servo", servo_number);
jsonWriteStr(configJson, "servo" + servo_number, servo_state);
jsonWriteStr(configLiveJson, "servo" + servo_number, servo_state);
sendSTATUS("servo" + servo_number, servo_state);
}
#endif
//====================================================================================================================================================
//===================================================================================serial===========================================================
#ifdef serial_enable
void serialBegin() {
void serialBegin()
{
//String s_speed = sCmd.next();
//String rxPin = sCmd.next();
//String txPin = sCmd.next();
@@ -493,7 +544,8 @@ void serialBegin() {
//mySerial.begin(s_speed.toInt());
}
void serialWrite() {
void serialWrite()
{
//String text = sCmd.next();
//mySerial.println(text);
}
@@ -501,15 +553,17 @@ void serialWrite() {
//====================================================================================================================================================
//=================================================Глобальные команды удаленного управления===========================================================
void mqttOrderSend() {
void mqttOrderSend()
{
String id = sCmd.next();
String order = sCmd.next();
String all_line = jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/order";
String all_line = jsonReadStr(configSetupJson, "mqttPrefix") + "/" + id + "/order";
client_mqtt.publish(all_line.c_str(), order.c_str(), false);
}
void httpOrderSend() {
void httpOrderSend()
{
String ip = sCmd.next();
String order = sCmd.next();
order.replace("_", "%20");
@@ -517,36 +571,40 @@ void httpOrderSend() {
getURL(url);
}
void update_firmware() {
upgrade = true;
void firmwareUpdate() {
upgrade = true;
}
void firmware() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configJson, "firm1", firmware_version);
choose_widget_and_create(widget_name, page_name, page_number, "any-data", "firm1");
void firmwareVersion() {
String widget_name = sCmd.next();
String page_name = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configLiveJson, "firmver", firmware_version);
choose_widget_and_create(widget_name, page_name, page_number, "any-data", "firmver");
}
//==============================================================================================================================
//============================выполнение команд (в лупе) по очереди из строки order=============================================
void handleCMD_loop() {
if (order_loop != "") {
String tmp = selectToMarker(order_loop, ","); //выделяем из страки order первую команду rel 5 1,
sCmd.readStr(tmp); //выполняем первую команду
void handleCMD_loop()
{
if (order_loop != "")
{
String tmp = selectToMarker(order_loop, ","); //выделяем из страки order первую команду rel 5 1,
sCmd.readStr(tmp); //выполняем первую команду
Serial.println("[ORDER] => " + order_loop);
order_loop = deleteBeforeDelimiter(order_loop, ","); //осекаем выполненную команду
order_loop = deleteBeforeDelimiter(order_loop, ","); //осекаем выполненную команду
}
}
void txtExecution(String file) {
void txtExecution(String file)
{
String command_all = readFile(file, 2048) + "\r\n";
command_all.replace("\r\n", "\n");
command_all.replace("\r", "\n");
while (command_all.length() != 0) {
while (command_all.length() != 0)
{
String tmp = selectToMarker(command_all, "\n");
sCmd.readStr(tmp);
command_all = deleteBeforeDelimiter(command_all, "\n");
@@ -554,13 +612,15 @@ void txtExecution(String file) {
command_all = "";
}
void stringExecution(String str) {
void stringExecution(String str)
{
str = str + "\r\n";
str.replace("\r\n", "\n");
str.replace("\r", "\n");
while (str.length()) {
while (str.length())
{
String tmp = selectToMarker(str, "\n");
sCmd.readStr(tmp);