mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
Big changes. Compiling version
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include "BufferExecute.h"
|
||||
//
|
||||
#include "items/SensorDallas.h"
|
||||
#include "items/ButtonOut.h"
|
||||
#include "items/vSensorDallas.h"
|
||||
#include "items/vButtonOut.h"
|
||||
//
|
||||
#include "Global.h"
|
||||
#include "Module/Terminal.h"
|
||||
@@ -46,10 +46,10 @@ void csvCmdExecute(String& cmdStr) {
|
||||
sCmd.addCommand(order.c_str(), buttonIn);
|
||||
}
|
||||
else if (order == F("input-digit")) {
|
||||
sCmd.addCommand(order.c_str(), inputDigit);
|
||||
sCmd.addCommand(order.c_str(), input);
|
||||
}
|
||||
else if (order == F("input-time")) {
|
||||
sCmd.addCommand(order.c_str(), inputTime);
|
||||
//sCmd.addCommand(order.c_str(), inputTime);
|
||||
}
|
||||
else if (order == F("output-text")) {
|
||||
sCmd.addCommand(order.c_str(), textOut);
|
||||
|
||||
@@ -45,6 +45,9 @@ int impuls_EnterCounter = -1;
|
||||
String buttonOut_KeyList = "";
|
||||
int buttonOut_EnterCounter = -1;
|
||||
//=========================================
|
||||
String input_KeyList = "";
|
||||
int input_EnterCounter = -1;
|
||||
//=========================================
|
||||
|
||||
// Sensors
|
||||
String sensorReadingMap10sec;
|
||||
|
||||
21
src/Init.cpp
21
src/Init.cpp
@@ -2,16 +2,21 @@
|
||||
#include "BufferExecute.h"
|
||||
#include "Cmd.h"
|
||||
#include "Global.h"
|
||||
#include "items/Logging.h"
|
||||
#include "items/ImpulsOutClass.h"
|
||||
#include "items/ButtonOut.h"
|
||||
#include "items/SensorDallas.h"
|
||||
#include "items/vLogging.h"
|
||||
#include "items/vImpulsOut.h"
|
||||
#include "items/vButtonOut.h"
|
||||
#include "items/vSensorDallas.h"
|
||||
#include "items/vInput.h"
|
||||
|
||||
void loadConfig() {
|
||||
configSetupJson = readFile("config.json", 4096);
|
||||
//configSetupJson.replace(" ", "");
|
||||
configSetupJson.replace("\r\n", "");
|
||||
|
||||
#ifdef SAVE_SETTINGS_TO_FLASH
|
||||
configLiveJson = readFile("live.json", 4096);
|
||||
configLiveJson.replace("\r\n", "");
|
||||
#endif
|
||||
|
||||
jsonWriteStr(configSetupJson, "chipID", chipId);
|
||||
jsonWriteInt(configSetupJson, "firmware_version", FIRMWARE_VERSION);
|
||||
|
||||
@@ -53,6 +58,12 @@ void Device_init() {
|
||||
}
|
||||
buttonOut_KeyList = "";
|
||||
buttonOut_EnterCounter = -1;
|
||||
//======clear input params=======
|
||||
if (myInput != nullptr) {
|
||||
myInput->clear();
|
||||
}
|
||||
input_KeyList = "";
|
||||
input_EnterCounter = -1;
|
||||
//===================================
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
//#include "Module/Terminal.h"
|
||||
//#include "Servo/Servos.h"
|
||||
//
|
||||
//#include "items/SensorDallas.h"
|
||||
//#include "items/vSensorDallas.h"
|
||||
//
|
||||
//Terminal *term = nullptr;
|
||||
//
|
||||
@@ -27,7 +27,7 @@
|
||||
//sCmd.addCommand("pwm-out", pwmOut);
|
||||
//sCmd.addCommand("button-in", buttonIn);
|
||||
|
||||
//sCmd.addCommand("input-digit", inputDigit);
|
||||
//sCmd.addCommand("input-digit", input);
|
||||
//sCmd.addCommand("input-time", inputTime);
|
||||
//sCmd.addCommand("output-text", textOut);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "MqttClient.h"
|
||||
|
||||
#include <LittleFS.h>
|
||||
#include "items/Logging.h"
|
||||
#include "items/vLogging.h"
|
||||
#include "Class/NotAsync.h"
|
||||
#include "Global.h"
|
||||
#include "Init.h"
|
||||
|
||||
@@ -53,4 +53,10 @@ String jsonWriteFloat(String& json, String name, float value) {
|
||||
|
||||
void saveConfig() {
|
||||
writeFile(String("config.json"), configSetupJson);
|
||||
}
|
||||
|
||||
void saveLive() {
|
||||
#ifdef SAVE_SETTINGS_TO_FLASH
|
||||
writeFile(String("live.json"), configLiveJson);
|
||||
#endif
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "Global.h"
|
||||
#include "Init.h"
|
||||
#include "ItemsList.h"
|
||||
#include "items/Logging.h"
|
||||
#include "items/vLogging.h"
|
||||
#include "Telegram.h"
|
||||
|
||||
bool parseRequestForPreset(AsyncWebServerRequest* request, uint8_t& preset) {
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
//#include "items/ButtonOutClass.h"
|
||||
//
|
||||
//#include "BufferExecute.h"
|
||||
////==========================================Модуль кнопок===================================================
|
||||
////button-out light toggle Кнопки Свет 1 pin[12] inv[1] st[1]
|
||||
////==========================================================================================================
|
||||
//ButtonOutClass myButtonOut;
|
||||
//void buttonOut() {
|
||||
// myButtonOut.update();
|
||||
// String key = myButtonOut.gkey();
|
||||
// String pin = myButtonOut.gpin();
|
||||
// String inv = myButtonOut.ginv();
|
||||
// sCmd.addCommand(key.c_str(), buttonOutSet);
|
||||
// myButtonOut.init();
|
||||
// myButtonOut.pinStateSetDefault();
|
||||
// myButtonOut.clear();
|
||||
//}
|
||||
//
|
||||
//void buttonOutSet() {
|
||||
// String key = sCmd.order();
|
||||
// String state = sCmd.next();
|
||||
// myButtonOut.pinChange(key, state);
|
||||
//}
|
||||
@@ -1,19 +1,19 @@
|
||||
#include "BufferExecute.h"
|
||||
#include "items/InputClass.h"
|
||||
//==========================================Модуль ввода цифровых значений==================================
|
||||
//input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60]
|
||||
//==========================================================================================================
|
||||
InputClass myInputDigit;
|
||||
void inputDigit() {
|
||||
myInputDigit.update();
|
||||
String key = myInputDigit.gkey();
|
||||
sCmd.addCommand(key.c_str(), inputDigitSet);
|
||||
myInputDigit.inputSetDefaultFloat();
|
||||
myInputDigit.clear();
|
||||
}
|
||||
|
||||
void inputDigitSet() {
|
||||
String key = sCmd.order();
|
||||
String state = sCmd.next();
|
||||
myInputDigit.inputSetFloat(key, state);
|
||||
}
|
||||
//#include "BufferExecute.h"
|
||||
//#include "items/InputClass.h"
|
||||
////==========================================Модуль ввода цифровых значений==================================
|
||||
////input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60]
|
||||
////==========================================================================================================
|
||||
//InputClass myInputDigit;
|
||||
//void inputDigit() {
|
||||
// myInputDigit.update();
|
||||
// String key = myInputDigit.gkey();
|
||||
// sCmd.addCommand(key.c_str(), inputDigitSet);
|
||||
// myInputDigit.inputSetDefaultFloat();
|
||||
// myInputDigit.clear();
|
||||
//}
|
||||
//
|
||||
//void inputDigitSet() {
|
||||
// String key = sCmd.order();
|
||||
// String state = sCmd.next();
|
||||
// myInputDigit.inputSetFloat(key, state);
|
||||
//}
|
||||
@@ -2,20 +2,20 @@
|
||||
#include "items/InputClass.h"
|
||||
//==========================================Модуль ввода времени============================================
|
||||
//==========================================================================================================
|
||||
InputClass myInputTime;
|
||||
void inputTime() {
|
||||
myInputTime.update();
|
||||
String key = myInputTime.gkey();
|
||||
sCmd.addCommand(key.c_str(), inputTimeSet);
|
||||
myInputTime.inputSetDefaultStr();
|
||||
myInputTime.clear();
|
||||
}
|
||||
|
||||
void inputTimeSet() {
|
||||
String key = sCmd.order();
|
||||
String state = sCmd.next();
|
||||
myInputTime.inputSetStr(key, state);
|
||||
}
|
||||
//InputClass myInputTime;
|
||||
//void inputTime() {
|
||||
// myInputTime.update();
|
||||
// String key = myInputTime.gkey();
|
||||
// sCmd.addCommand(key.c_str(), inputTimeSet);
|
||||
// myInputTime.inputSetDefaultStr();
|
||||
// myInputTime.clear();
|
||||
//}
|
||||
//
|
||||
//void inputTimeSet() {
|
||||
// String key = sCmd.order();
|
||||
// String state = sCmd.next();
|
||||
// myInputTime.inputSetStr(key, state);
|
||||
//}
|
||||
|
||||
void handle_time_init() {
|
||||
ts.add(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/ButtonOut.h"
|
||||
#include "items/vButtonOut.h"
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
@@ -10,22 +10,28 @@ ButtonOut::ButtonOut(unsigned int pin, boolean inv, String key) {
|
||||
_pin = pin;
|
||||
_inv = inv;
|
||||
_key = key;
|
||||
pinMode(_pin, OUTPUT);
|
||||
int state = jsonReadInt(configLiveJson, key);
|
||||
this->execute(String(state));
|
||||
}
|
||||
ButtonOut::~ButtonOut() {}
|
||||
|
||||
void ButtonOut::init() {
|
||||
pinMode(_pin, OUTPUT);
|
||||
}
|
||||
|
||||
void ButtonOut::execute(String state) {
|
||||
//if (_inv) {
|
||||
// digitalWrite(_pin, !state.toInt());
|
||||
//}
|
||||
//else {
|
||||
digitalWrite(_pin, state.toInt());
|
||||
//}
|
||||
if (state == "change") {
|
||||
state = String(!digitalRead(_pin));
|
||||
digitalWrite(_pin, state.toInt());
|
||||
}
|
||||
else {
|
||||
if (_inv) {
|
||||
digitalWrite(_pin, !state.toInt());
|
||||
}
|
||||
else {
|
||||
digitalWrite(_pin, state.toInt());
|
||||
}
|
||||
}
|
||||
eventGen2(_key, state);
|
||||
jsonWriteInt(configLiveJson, _key, state.toInt());
|
||||
saveLive();
|
||||
publishStatus(_key, state);
|
||||
}
|
||||
|
||||
@@ -36,6 +42,10 @@ void buttonOut() {
|
||||
String key = myLineParsing.gkey();
|
||||
String pin = myLineParsing.gpin();
|
||||
String inv = myLineParsing.ginv();
|
||||
|
||||
bool invb = false;
|
||||
if (inv.toInt() == 1) invb = true;
|
||||
|
||||
myLineParsing.clear();
|
||||
|
||||
buttonOut_EnterCounter++;
|
||||
@@ -44,7 +54,7 @@ void buttonOut() {
|
||||
static bool firstTime = true;
|
||||
if (firstTime) myButtonOut = new MyButtonOutVector();
|
||||
firstTime = false;
|
||||
myButtonOut->push_back(ButtonOut(pin.toInt(), inv.toInt(), key));
|
||||
myButtonOut->push_back(ButtonOut(pin.toInt(), invb, key));
|
||||
|
||||
sCmd.addCommand(key.c_str(), buttonOutExecute);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/ImpulsOutClass.h"
|
||||
#include "items/vImpulsOut.h"
|
||||
|
||||
#include <Arduino.h>
|
||||
#include "BufferExecute.h"
|
||||
53
src/items/vInput.cpp
Normal file
53
src/items/vInput.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#include "items/vInput.h"
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Global.h"
|
||||
#include "BufferExecute.h"
|
||||
|
||||
Input::Input(String key) {
|
||||
_key = key;
|
||||
String value = jsonReadStr(configLiveJson, key);
|
||||
this->execute(value);
|
||||
}
|
||||
Input::~Input() {}
|
||||
|
||||
void Input::execute(String state) {
|
||||
eventGen2(_key, state);
|
||||
jsonWriteInt(configLiveJson, _key, state.toInt());
|
||||
saveLive();
|
||||
publishStatus(_key, state);
|
||||
}
|
||||
|
||||
MyInputVector* myInput = nullptr;
|
||||
|
||||
void input() {
|
||||
myLineParsing.update();
|
||||
String key = myLineParsing.gkey();
|
||||
myLineParsing.clear();
|
||||
|
||||
input_EnterCounter++;
|
||||
addKey(key, input_KeyList, input_EnterCounter);
|
||||
|
||||
static bool firstTime = true;
|
||||
if (firstTime) myInput = new MyInputVector();
|
||||
firstTime = false;
|
||||
myInput->push_back(Input(key));
|
||||
|
||||
sCmd.addCommand(key.c_str(), inputExecute);
|
||||
}
|
||||
|
||||
void inputExecute() {
|
||||
String key = sCmd.order();
|
||||
String state = sCmd.next();
|
||||
|
||||
int number = getKeyNum(key, input_KeyList);
|
||||
|
||||
if (myInput != nullptr) {
|
||||
if (number != -1) {
|
||||
myInput->at(number).execute(state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/Logging.h"
|
||||
#include "items/vLogging.h"
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
@@ -120,5 +120,6 @@ void clean_log_date() {
|
||||
SerialPrint("I", "System", fname);
|
||||
removeFile("logs/" + fname);
|
||||
}
|
||||
removeFile("live.json");
|
||||
#endif
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "items/SensorDallas.h"
|
||||
#include "items/vSensorDallas.h"
|
||||
#include "Class/LineParsing.h"
|
||||
#include "Global.h"
|
||||
#include "BufferExecute.h"
|
||||
@@ -15,9 +15,9 @@
|
||||
#include "Utils/Timings.h"
|
||||
#include "Utils/WebUtils.h"
|
||||
#include "items/ButtonInClass.h"
|
||||
#include "items/Logging.h"
|
||||
#include "items/ImpulsOutClass.h"
|
||||
#include "items/SensorDallas.h"
|
||||
#include "items/vLogging.h"
|
||||
#include "items/vImpulsOut.h"
|
||||
#include "items/vSensorDallas.h"
|
||||
#include "Telegram.h"
|
||||
|
||||
void not_async_actions();
|
||||
|
||||
Reference in New Issue
Block a user