From 74a7c8f528f2a7004bf4d344544b3b1e796e2ead Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Thu, 27 Aug 2020 00:58:41 +0300 Subject: [PATCH] some changes --- doc/orders.xlsm | Bin 21287 -> 34607 bytes include/Class/Sensor.h | 26 ++++++++++++++++++++++++++ platformio.ini | 6 +++++- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 include/Class/Sensor.h diff --git a/doc/orders.xlsm b/doc/orders.xlsm index 4a23ac94ad00840bd3a086137099746ba89e7367..6589c1f8405fde99da4054aab1225ca2e6369854 100644 GIT binary patch literal 34607 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 literal 21287 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 +#include "Class/LineParsing.h" +#include "Global.h" + +class Sensor : public LineParsing { + public: + Sensor() : LineParsing(){}; + + void SensorInit() { + if (_pin != "") { + pinMode(_pin.toInt(), INPUT); + } + } + + void SensorRead(String key, String pin, String state) { + int pinInt = pin.toInt(); + analogWrite(pinInt, state.toInt()); + eventGen(key, ""); + jsonWriteInt(configLiveJson, key, state.toInt()); + MqttClient::publishStatus(key, state); + } +}; + +//extern Sensor* mySensor; \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index 4ee2b7d1..c190c5f2 100644 --- a/platformio.ini +++ b/platformio.ini @@ -28,7 +28,6 @@ lib_deps_internal = [env:esp32] framework = arduino board = esp32dev -board_build.filesystem = littlefs platform = https://github.com/platformio/platform-espressif32.git lib_deps = ${common_env_data.lib_deps_external} @@ -37,7 +36,9 @@ lib_deps = ESP32Servo LITTLEFS monitor_filters = esp32_exception_decoder +upload_speed = 921600 monitor_speed = 115200 +board_build.filesystem = littlefs [env:esp8266_01_1m] framework = arduino @@ -51,8 +52,10 @@ lib_deps = ESPAsyncUDP EspSoftwareSerial monitor_filters = esp8266_exception_decoder +upload_speed = 921600 monitor_speed = 115200 board_build.filesystem = littlefs +board_build.f_cpu = 160000000L [env:esp8266] framework = arduino @@ -65,6 +68,7 @@ lib_deps = ESPAsyncUDP EspSoftwareSerial monitor_filters = esp8266_exception_decoder +upload_speed = 921600 monitor_speed = 115200 board_build.filesystem = littlefs board_build.f_cpu = 160000000L