diff --git a/data/items/analog-adc.txt b/data/items/analog-adc.txt index 3a7d70c6..bcbe6528 100644 --- a/data/items/analog-adc.txt +++ b/data/items/analog-adc.txt @@ -1 +1 @@ -analog-adc;id;anydata;Сенсоры;Аналоговый;order;pin[0];map[1,100,1,100];c[0] \ No newline at end of file +analog-adc;id;anydata;Сенсоры;Аналоговый;order;pin-adc;map[1,100,1,100];c[0] \ No newline at end of file diff --git a/include/Class/SensorAnalog.h b/include/Class/SensorAnalog.h index 6e94a978..27f157be 100644 --- a/include/Class/SensorAnalog.h +++ b/include/Class/SensorAnalog.h @@ -3,9 +3,10 @@ #include #include "Class/LineParsing.h" +#include "Class/SensorConverting.h" #include "Global.h" -class SensorAnalog : public LineParsing { +class SensorAnalog : public LineParsing public SensorConverting { public: SensorAnalog() : LineParsing(){}; @@ -29,6 +30,8 @@ class SensorAnalog : public LineParsing { eventGen(key, ""); jsonWriteInt(configLiveJson, key, value); MqttClient::publishStatus(key, String(value)); + + Serial.println("[I] sensor '" + key + "' data: " + String(value)); return value; } }; diff --git a/include/Class/SensorConverting.h b/include/Class/SensorConverting.h new file mode 100644 index 00000000..2c1beb5e --- /dev/null +++ b/include/Class/SensorConverting.h @@ -0,0 +1,20 @@ +#pragma once + +#include + +#include "Class/LineParsing.h" +#include "Global.h" + +class SensorConverting : public LineParsing { + public: + SensorConverting() : LineParsing(){}; + + void SensorConvertingInit() { + + + + } + + +}; +extern SensorConverting* mySensorConverting; \ No newline at end of file diff --git a/include/ItemsList.h b/include/ItemsList.h index a72f2d12..d973ff60 100644 --- a/include/ItemsList.h +++ b/include/ItemsList.h @@ -6,4 +6,5 @@ extern void addItem(String name); extern void delAllItems(); extern uint8_t getNewElementNumber(String file); -extern uint8_t getFreePin(); +extern uint8_t getFreePinAll(); +extern uint8_t getFreePinAnalog(); diff --git a/src/ItemsList.cpp b/src/ItemsList.cpp index 6861d85f..dcb194f7 100644 --- a/src/ItemsList.cpp +++ b/src/ItemsList.cpp @@ -1,4 +1,5 @@ #include "ItemsList.h" + #include "Utils\StringUtils.h" static const char* firstLine PROGMEM = "Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета"; @@ -8,7 +9,11 @@ void addItem(String name) { name = deleteToMarkerLast(name, "-"); item.replace("id", name + String(getNewElementNumber("id.txt"))); item.replace("order", String(getNewElementNumber("order.txt"))); - item.replace("pin", "pin[" + String(getFreePin()) + "]"); + if (item.indexOf("pin-adc") != -1) { + item.replace("pin-adc", "pin[" + String(getFreePinAnalog()) + "]"); + } else if (item.indexOf("pin") != -1) { + item.replace("pin", "pin[" + String(getFreePinAll()) + "]"); + } item.replace("\r\n", ""); item.replace("\r", ""); item.replace("\n", ""); @@ -31,13 +36,13 @@ uint8_t getNewElementNumber(String file) { return number; } -uint8_t getFreePin() { - #ifdef ESP8266 +uint8_t getFreePinAll() { +#ifdef ESP8266 uint8_t pins[] = {0, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5}; - #endif - #ifdef ESP32 +#endif +#ifdef ESP32 uint8_t pins[] = {0, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5}; - #endif +#endif uint8_t array_sz = sizeof(pins) / sizeof(pins[0]); uint8_t i = getNewElementNumber("pins.txt"); if (i < array_sz) { @@ -47,6 +52,12 @@ uint8_t getFreePin() { } } +uint8_t getFreePinAnalog() { +#ifdef ESP8266 + return 0; +#endif +} + //void do_getJsonListFromCsv() { // if (getJsonListFromCsvFlag) { // getJsonListFromCsvFlag = false;