From 2d8de37ee78460c96519856a2f08b44d0d6507da Mon Sep 17 00:00:00 2001 From: biver Date: Wed, 12 Jan 2022 18:24:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=20FS=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8E=20=D0=B4=D0=BB=D1=8F=20TM1637?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_esp/items/items.txt | 1 + data_esp/set.device.json.gz | Bin 3151 -> 3173 bytes src/items/vSensorTM1637.cpp | 30 +++++++++++++++--------------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/data_esp/items/items.txt b/data_esp/items/items.txt index 4da9efd9..1fb5d5ea 100644 --- a/data_esp/items/items.txt +++ b/data_esp/items/items.txt @@ -39,4 +39,5 @@ 0;sensor;anyid;anydata;Сенсоры;Параметр;1;c[1];int[10];type[AHTX0_temp];addr[0x76] 0;sensor;anyid;anydata;Сенсоры;Параметр;1;c[1];int[10];type[AHTX0_hum];addr[0x76]* 0;LCD2004;lcdid;anydata;Вывод;IP;1;addr[0x27];k[16,2];int[10];c[0,0];val[ip]* +0;disp1637;dispid;anydata;Вывод;f;1;pin[12,13];int[10];index[0];c[4];k[0];val[1234]* 0;sensor;anyid;anydata;Сенсоры;Параметр;1;c[1];int[10];type[type1];addr[0x76]* \ No newline at end of file diff --git a/data_esp/set.device.json.gz b/data_esp/set.device.json.gz index 329723f7f2fc2e79fd4b93bf63d76e7e30fdb397..25e68a2893b48055375519681ceb615939adbc88 100644 GIT binary patch delta 3160 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 diff --git a/src/items/vSensorTM1637.cpp b/src/items/vSensorTM1637.cpp index 48dfaaeb..33c13215 100644 --- a/src/items/vSensorTM1637.cpp +++ b/src/items/vSensorTM1637.cpp @@ -9,7 +9,7 @@ #include -LiquidCrystal_I2C *LCDI2C; +LiquidCrystal_I2C *LCDI2C2; SensorTM1637::SensorTM1637(String key, unsigned long interval, unsigned int x, unsigned int y, String val, String descr) { _key = key; @@ -27,15 +27,15 @@ SensorTM1637::~SensorTM1637() {} void SensorTM1637::printBlankStr(int strSize){ String tmpStr = ""; for(int i=0; isetCursor(_x, _y); - LCDI2C->print(tmpStr); + LCDI2C2->setCursor(_x, _y); + LCDI2C2->print(tmpStr); } void SensorTM1637::execute(String command) { - if (command == "noBacklight") LCDI2C->noBacklight(); - else if (command == "backlight") LCDI2C->backlight(); - else if (command == "noDisplay") LCDI2C->noDisplay(); - else if (command == "display") LCDI2C->display(); + if (command == "noBacklight") LCDI2C2->noBacklight(); + else if (command == "backlight") LCDI2C2->backlight(); + else if (command == "noDisplay") LCDI2C2->noDisplay(); + else if (command == "display") LCDI2C2->display(); else if (command == "x") { printBlankStr(_prevStrSize); String par = sCmd.next(); @@ -68,14 +68,14 @@ void SensorTM1637::loop() { } void SensorTM1637::writeTM1637() { - if (LCDI2C != nullptr) { + if (LCDI2C2 != nullptr) { printBlankStr(_prevStrSize); String tmpStr = getValue(_val); if (tmpStr == "no value") tmpStr = _val; if (_descr != "none") tmpStr = _descr + " " + tmpStr; - LCDI2C->setCursor(_x, _y); - LCDI2C->print(tmpStr); + LCDI2C2->setCursor(_x, _y); + LCDI2C2->print(tmpStr); _prevStrSize = tmpStr.length(); } @@ -108,11 +108,11 @@ void TM1637() { int w = selectFromMarkerToMarker(k, ",", 0).toInt(); //количество столбцов int h = selectFromMarkerToMarker(k, ",", 1).toInt(); //количество строк - if (LCDI2C == nullptr) { //инициализации экрана еще не было - LCDI2C = new LiquidCrystal_I2C(hexStringToUint8(addr), w, h);//hexStringToUint8(addr), w, h); - if(LCDI2C != nullptr) { - LCDI2C->init(); - LCDI2C->backlight(); + if (LCDI2C2 == nullptr) { //инициализации экрана еще не было + LCDI2C2 = new LiquidCrystal_I2C(hexStringToUint8(addr), w, h);//hexStringToUint8(addr), w, h); + if(LCDI2C2 != nullptr) { + LCDI2C2->init(); + LCDI2C2->backlight(); } }