Делаем Ds18b20 с большой буквы

This commit is contained in:
2022-02-01 13:26:34 +03:00
parent 0128a8966a
commit 3bcdf8d8b5
3 changed files with 21 additions and 9 deletions

View File

@@ -11,5 +11,17 @@
"multiply": 1,
"pin": 0,
"int": 15
},
{
"type": "Reading",
"subtype": "Ds18b20",
"id": "tmp",
"widget": "anydataTmp",
"page": "Сенсоры",
"descr": "Температура",
"int": 15,
"pin": 0,
"index": 0,
"addr": ""
}
]

View File

@@ -3,7 +3,7 @@
//============================================================================================
//здесь скопируйте строку и вставьте ниже, заменив имя AnalogAdc на название вашего сенсора
void* getAPI_AnalogAdc(String subtype, String params);
void* getAPI_ds18b20(String subtype, String params);
void* getAPI_Ds18b20(String subtype, String params);
//============================================================================================
void* getAPI(String subtype, String params) {
@@ -11,7 +11,7 @@ void* getAPI(String subtype, String params) {
//===============================================================================================================
//здесь нужно скопировать строку еще раз и вставить ее ниже, переименовав AnalogAdc на название вашего сенсора
if ((tmpAPI = getAPI_AnalogAdc(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_ds18b20(subtype, params)) != nullptr) return tmpAPI;
if ((tmpAPI = getAPI_Ds18b20(subtype, params)) != nullptr) return tmpAPI;
//================================================================================================================
return nullptr;

View File

@@ -9,7 +9,7 @@
std::map<int, OneWire*> oneWireTemperatureArray;
std::map<int, DallasTemperature*> sensorsTemperatureArray;
class ds18b20 : public IoTSensor {
class Ds18b20 : public IoTSensor {
private:
//для работы библиотеки с несколькими линиями необходимо обеспечить каждый экземпляр класса ссылками на объекты настроенные на эти линии
OneWire* oneWire;
@@ -27,7 +27,7 @@ class ds18b20 : public IoTSensor {
//Такие как ...begin и подставлять в них параметры полученные из web интерфейса.
//Все параметры хранятся в перемененной parameters, вы можете прочитать любой параметр используя jsonRead функции:
// jsonReadStr, jsonReadBool, jsonReadInt
ds18b20(String parameters): IoTSensor(parameters) {
Ds18b20(String parameters): IoTSensor(parameters) {
_pin = jsonReadInt(parameters, "pin");
_index = jsonReadInt(parameters, "index");
@@ -79,15 +79,15 @@ class ds18b20 : public IoTSensor {
}
//=======================================================================================================
~ds18b20(){};
~Ds18b20(){};
};
//после замены названия сенсора, на функцию можно не обращать внимания
//если сенсор предполагает использование общего объекта библиотеки для нескольких экземпляров сенсора, то в данной функции необходимо предусмотреть
//создание и контроль соответствующих глобальных переменных (см. пример реализации сенсора ds18b20)
void* getAPI_ds18b20(String subtype, String param) {
if (subtype == F("ds18b20")) {
return new ds18b20(param);
//создание и контроль соответствующих глобальных переменных
void* getAPI_Ds18b20(String subtype, String param) {
if (subtype == F("Ds18b20")) {
return new Ds18b20(param);
} else {
return nullptr;
}