diff --git a/data/set.utilities.json b/data/set.utilities.json index 825ddba8..9314cd8b 100644 --- a/data/set.utilities.json +++ b/data/set.utilities.json @@ -34,32 +34,6 @@ "title": "Сканировать", "action": "/set?i2c", "class": "btn btn-block btn-default" - }, - { - "type": "h3", - "title": "Сканирование шины OneWire" - }, - { - "type": "input", - "title": "Номер пина шины OneWire", - "name": "oneWirePin-arg", - "state": "{{oneWirePin}}" - }, - { - "type": "button", - "title": "Сохранить", - "action": "/set?oneWirePin=[[oneWirePin-arg]]", - "class": "btn btn-block btn-default" - }, - { - "type": "h4", - "title": "{{oneWire}}" - }, - { - "type": "link", - "title": "Сканировать", - "action": "/set?oneWire=[[oneWirePin-arg]]", - "class": "btn btn-block btn-default" } ] } \ No newline at end of file diff --git a/include/Bus/BusScannerFactory.h b/include/Bus/BusScannerFactory.h index b610323e..867cf860 100644 --- a/include/Bus/BusScannerFactory.h +++ b/include/Bus/BusScannerFactory.h @@ -2,7 +2,6 @@ #include "Bus/BusScanner.h" #include "Bus/I2CScanner.h" -#include "Bus/OneWireScanner.h" #include "Consts.h" #include "Utils/JsonUtils.h" @@ -12,10 +11,6 @@ class BusScannerFactory { switch (type) { case BS_I2C: return new I2CScanner(str); - case BS_ONE_WIRE: { - uint8_t pin = jsonReadInt(config, TAG_ONE_WIRE_PIN); - return new OneWireScanner(str, pin); - } default: return nullptr; } diff --git a/include/Bus/OneWireBus.h b/include/Bus/OneWireBus.h deleted file mode 100644 index 6f4fc48f..00000000 --- a/include/Bus/OneWireBus.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include -#include - -struct OneWireBus_t { - OneWire *bus; - uint8_t pin; -}; - -class OneWireBus { - public: - OneWireBus(); - OneWire *get(uint8_t pin); - size_t count(); - - private: - std::vector _items; -}; - -extern OneWireBus oneWireBus; \ No newline at end of file diff --git a/include/Bus/OneWireScanner.h b/include/Bus/OneWireScanner.h deleted file mode 100644 index 5df5468a..00000000 --- a/include/Bus/OneWireScanner.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "BusScanner.h" -#include "OneWireBus.h" - -class OneWireScanner : public BusScanner { - public: - OneWireScanner(String& out, uint8_t pin); - - protected: - virtual boolean syncScan() override; - - private: - OneWire* _bus; -}; diff --git a/include/Global.h b/include/Global.h index 6b1eed96..3ba69986 100644 --- a/include/Global.h +++ b/include/Global.h @@ -57,6 +57,8 @@ extern AsyncWebServer server; extern DallasTemperature sensors; +extern OneWire *oneWire; + extern boolean but[NUM_BUTTONS]; extern Bounce* buttons; diff --git a/src/Bus/OneWireBus.cpp b/src/Bus/OneWireBus.cpp deleted file mode 100644 index 19b8be40..00000000 --- a/src/Bus/OneWireBus.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "Bus/OneWireBus.h" - -OneWireBus oneWireBus; - -OneWireBus::OneWireBus(){}; - -OneWire *OneWireBus::get(uint8_t pin) { - // Ищем среди ранее созданных - for (size_t i = 0; i < _items.size(); i++) { - auto item = _items.at(i); - if (item.pin == pin) { - return item.bus; - } - } - // Добавляем новый - OneWireBus_t newItem; - newItem.bus = new OneWire(pin); - newItem.pin = pin; - _items.push_back(newItem); - return newItem.bus; -} - -size_t OneWireBus::count() { - return _items.size(); -} diff --git a/src/Bus/OneWireScanner.cpp b/src/Bus/OneWireScanner.cpp deleted file mode 100644 index 3f52f46e..00000000 --- a/src/Bus/OneWireScanner.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include "Bus/OneWireScanner.h" - -#include "Utils/PrintMessage.h" - -const char* MODULE = "OneWire"; - -OneWireScanner::OneWireScanner(String& out, uint8_t pin) : BusScanner(TAG_ONE_WIRE, out, 1) { - _bus = oneWireBus.get(pin); -} - -bool OneWireScanner::syncScan() { - uint8_t addr[8]; - pm.info("scanning..."); - while (_bus->search(addr)) { - for (uint8_t i = 0; i < 8; i++) { - pm.info("found: " + String(i, DEC)); - addResult(addr[i], i < 7); - } - } - if (OneWire::crc8(addr, 7) != addr[7]) { - pm.error(String("CRC!")); - return false; - } - _bus->reset_search(); - return true; -} diff --git a/src/Cmd.cpp b/src/Cmd.cpp index 1cc47467..49cac677 100644 --- a/src/Cmd.cpp +++ b/src/Cmd.cpp @@ -108,6 +108,7 @@ void cmd_init() { //========================================================================================================== //==========================================Модуль кнопок=================================================== + void button() { pm.info("create 'button'"); String number = sCmd.next(); diff --git a/src/Global.cpp b/src/Global.cpp index ba0eee49..05b51345 100644 --- a/src/Global.cpp +++ b/src/Global.cpp @@ -17,6 +17,8 @@ StringCommand sCmd; AsyncWebServer server(80); +OneWire *oneWire; + DallasTemperature sensors; /* diff --git a/src/Sensors.cpp b/src/Sensors.cpp index d730456d..09197b76 100644 --- a/src/Sensors.cpp +++ b/src/Sensors.cpp @@ -1,4 +1,3 @@ -#include "Bus/OneWireBus.h" #include "Global.h" GMedian<10, int> medianFilter; @@ -232,18 +231,19 @@ void analog_reading2() { //========================================================================================================================================= //=========================================Модуль температурного сенсора ds18b20=========================================================== #ifdef DALLAS_ENABLED -//dallas temp1 2 0x14 Температура Датчики anydata 1 -//dallas temp2 2 0x14 Температура Датчики anydata 2 +//dallas temp1 2 1 Температура Датчики anydata 1 +//dallas temp2 2 2 Температура Датчики anydata 2 void dallas() { String value_name = sCmd.next(); - uint8_t pin = (uint8_t)String(sCmd.next()).toInt(); + String pin = sCmd.next(); String address = sCmd.next(); jsonWriteStr(configOptionJson, value_name + "_ds", address); String widget_name = sCmd.next(); String page_name = sCmd.next(); String type = sCmd.next(); String page_number = sCmd.next(); - sensors.setOneWire(oneWireBus.get(pin)); + oneWire = new OneWire((uint8_t) pin.toInt()); + sensors.setOneWire(oneWire); sensors.begin(); sensors.setResolution(12); dallas_value_name += value_name + ";";