Структурируем модули как надо

This commit is contained in:
2022-08-11 17:40:42 +03:00
parent 1ddc3aab9c
commit 799aff3383
70 changed files with 281 additions and 281 deletions

View File

@@ -1,59 +0,0 @@
/******************************************************************
Used GY21 Driver (temperature and humidity sensor)
Support for HTY21 , SHT21 , Si7021
https://github.com/adafruit/Adafruit_AHTX0
adapted for version 4 Alecs Alecs
******************************************************************/
#include "Global.h"
#include "classes/IoTItem.h"
#include "Wire.h"
#include "GY21.h"
GY21* sensor = nullptr;
class GY21t : public IoTItem {
public:
GY21t(String parameters): IoTItem(parameters) { }
void doByInterval() {
//wire->read();
value.valD = sensor->GY21_Temperature();
if (value.valD < 300) regEvent(value.valD, "GY21"); // TODO: найти способ понимания ошибки получения данных
else SerialPrint("E", "Sensor GY21t", "Error");
}
~GY21t() {};
};
class GY21h : public IoTItem {
public:
GY21h(String parameters): IoTItem(parameters) { }
void doByInterval() {
//sht->read();
value.valD = sensor->GY21_Humidity();
if (value.valD != 0) regEvent(value.valD, "GY21h"); // TODO: найти способ понимания ошибки получения данных
else SerialPrint("E", "Sensor GY21h", "Error");
}
~GY21h() {};
};
void* getAPI_GY21(String subtype, String param) {
if (subtype == F("GY21t") || subtype == F("GY21h")) {
if (!sensor) {
sensor = new GY21;
if (sensor) Wire.begin(SDA, SCL);
}
if (subtype == F("GY21t")) {
return new GY21t(param);
} else if (subtype == F("GY21h")) {
return new GY21h(param);
}
} else {
return nullptr;
}
}

View File

@@ -1,50 +0,0 @@
{
"menuSection": "Сенсоры",
"configItem": [{
"name": "Cенсор температуры GY21",
"type": "Reading",
"subtype": "GY21t",
"id": "tmp4",
"widget": "anydataTmp",
"page": "Сенсоры",
"descr": "Температура",
"round": 1,
"int": 15
},
{
"name": "Cенсор влажности GY21",
"type": "Reading",
"subtype": "GY21h",
"id": "Hum4",
"widget": "anydataHum",
"page": "Сенсоры",
"descr": "Влажность",
"round": 1,
"int": 15
}],
"about": {
"authorName": "Alecs",
"authorContact": "https://t.me/Alecs",
"authorGit": "",
"specialThanks": "",
"moduleName": "GY21",
"moduleVersion": "1.0",
"moduleDesc": "Позволяет получить значения температуры и влажности с GY21.",
"propInfo": {
"int": "Количество секунд между опросами датчика."
}
},
"defActive": true,
"devices": {
"esp32_4mb": [
"https://github.com/JonasGMorsch/GY-21.git"
],
"esp8266_4mb": [
"https://github.com/JonasGMorsch/GY-21.git"
]
}
}