input time and input digit done

This commit is contained in:
Dmitry Borisenko
2020-08-03 01:09:11 +02:00
parent 6c969a2455
commit 78fb96d50d
4 changed files with 44 additions and 33 deletions

View File

@@ -9,15 +9,25 @@ class Input : public LineParsing {
public: public:
Input() : LineParsing(){}; Input() : LineParsing(){};
void inputSetDefault() { void inputSetDefaultFloat() {
inputSet(_key, _state); inputSetFloat(_key, _state);
} }
void inputSet(String key, String state) { void inputSetDefaultStr() {
inputSetStr(_key, _state);
}
void inputSetFloat(String key, String state) {
eventGen(key, ""); eventGen(key, "");
jsonWriteFloat(configLiveJson, key, state.toFloat()); jsonWriteFloat(configLiveJson, key, state.toFloat());
MqttClient::publishStatus(key, state); MqttClient::publishStatus(key, state);
} }
void inputSetStr(String key, String state) {
eventGen(key, "");
jsonWriteStr(configLiveJson, key, state);
MqttClient::publishStatus(key, state);
}
}; };
extern Input* myInput; extern Input* myInput;

View File

@@ -3,7 +3,6 @@
#include <Arduino.h> #include <Arduino.h>
extern void cmd_init(); extern void cmd_init();
extern void itemInit();
extern void buttonOut(); extern void buttonOut();
extern void buttonOutSet(); extern void buttonOutSet();
@@ -17,6 +16,12 @@ extern void buttonInSet();
extern void inputDigit(); extern void inputDigit();
extern void inputDigitSet(); extern void inputDigitSet();
extern void inputTime();
extern void inputTimeSet();
extern void text();
extern void textSet();
extern void handle_time_init(); extern void handle_time_init();
extern void stepper(); extern void stepper();
extern void stepperSet(); extern void stepperSet();
@@ -26,11 +31,10 @@ extern void serialBegin();
extern void serialWrite(); extern void serialWrite();
extern void logging(); extern void logging();
extern void inputTime();
extern void button(); extern void button();
extern void timeSet(); extern void timeSet();
extern void text();
extern void textSet();
extern void mqttOrderSend(); extern void mqttOrderSend();
extern void httpOrderSend(); extern void httpOrderSend();
extern void firmwareVersion(); extern void firmwareVersion();

View File

@@ -30,15 +30,18 @@ void cmd_init() {
sCmd.addCommand("pwm-out", pwmOut); sCmd.addCommand("pwm-out", pwmOut);
sCmd.addCommand("button-in", buttonIn); sCmd.addCommand("button-in", buttonIn);
sCmd.addCommand("input-digit", inputDigit); sCmd.addCommand("input-digit", inputDigit);
sCmd.addCommand("input-time", inputTime);
sCmd.addCommand("text", text);
sCmd.addCommand("textSet", textSet);
sCmd.addCommand("inputTime", inputTime);
sCmd.addCommand("timeSet", timeSet);
sCmd.addCommand("timerStart", timerStart_); sCmd.addCommand("timerStart", timerStart_);
sCmd.addCommand("timerStop", timerStop_); sCmd.addCommand("timerStop", timerStop_);
sCmd.addCommand("text", text);
sCmd.addCommand("textSet", textSet);
#ifdef ANALOG_ENABLED #ifdef ANALOG_ENABLED
sCmd.addCommand("analog", analog); sCmd.addCommand("analog", analog);
@@ -177,45 +180,39 @@ void buttonInSet() {
} }
//==========================================Модуль ввода цифровых значений================================== //==========================================Модуль ввода цифровых значений==================================
//input-digit digit1 inputNum Ввод Введите 4 st[60] //input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60]
//========================================================================================================== //==========================================================================================================
void inputDigit() { void inputDigit() {
myInput = new Input(); myInput = new Input();
myInput->update(); myInput->update();
String key = myInput->gkey(); String key = myInput->gkey();
sCmd.addCommand(key.c_str(), inputDigitSet); sCmd.addCommand(key.c_str(), inputDigitSet);
myInput->inputSetDefault(); myInput->inputSetDefaultFloat();
myInput->clear(); myInput->clear();
} }
void inputDigitSet() { void inputDigitSet() {
String key = sCmd.order(); String key = sCmd.order();
String state = sCmd.next(); String state = sCmd.next();
myInput->inputSet(key, state); myInput->inputSetFloat(key, state);
} }
//===================================================================================================================================== //==========================================Модуль ввода времени============================================
//=========================================Добавление окна ввода времени=============================================================== //input-time time1 inputTime Ввод Введите.время 4 st[10-00-00]
//==========================================================================================================
void inputTime() { void inputTime() {
String value_name = sCmd.next(); myInput = new Input();
String number = value_name.substring(4); myInput->update();
String widget_name = sCmd.next(); String key = myInput->gkey();
widget_name.replace("#", " "); sCmd.addCommand(key.c_str(), inputTimeSet);
String page_name = sCmd.next(); myInput->inputSetDefaultStr();
page_name.replace("#", " "); myInput->clear();
String start_state = sCmd.next();
String page_number = sCmd.next();
jsonWriteStr(configLiveJson, "time" + number, start_state);
createWidget(widget_name, page_name, page_number, "inputTime", "time" + number);
} }
void timeSet() { void inputTimeSet() {
String number = sCmd.next(); String key = sCmd.order();
String value = sCmd.next(); String state = sCmd.next();
myInput->inputSetStr(key, state);
jsonWriteStr(configLiveJson, "time" + number, value);
MqttClient::publishStatus("time" + number, value);
} }
void handle_time_init() { void handle_time_init() {