fix ld2410 instance function

This commit is contained in:
Mit4el
2023-09-22 20:52:30 +03:00
parent b3a426bdc4
commit 2a275cc1a5
2 changed files with 51 additions and 20 deletions

View File

@@ -25,9 +25,15 @@ ExternalLibrary *libXX = nullptr;
// Функция инициализации библиотечного класса, возвращает Единстрвенный указать на библиотеку
// instanceLibXX НАЗВАТЬ по наименованию модуля (instanceДатчикХ)
// ПРИ НЕОБХДИМОСТИ передаем любые нужные параметры для инициализации библиотеки (в данном случае PIN)
//
// !!! ВЫзвать данную функцию нужно хотябы один раз,
// но в каждом конструкторе класса модуля ExampleModule_A, ExampleModule_B и т.д.
// или можно вывывать постоянно при обращении к библиотеке, типа: instanceLibXX().READ_LIB_DATA_OTHER();
//
// !!!!!! В деструкторах ~ExampleModule_B() и ~ExampleModule_A() надо УДАЛЯТЬ объект libXX, ЕСЛИ в функцию instanceLibXX чтото передается.
// Удаляем класс библиотеки, а то при переконфигурации в нем не поменяются PIN и дугие параметры передаваемые в библиотеку.
// P.S. Не для всех, если используется map или vector то лучше не надо.
ExternalLibrary *instanceLibXX(int pin)
{
if (!libXX)
@@ -39,7 +45,6 @@ ExternalLibrary *instanceLibXX(int pin)
return libXX;
}
//=========================================================================================================
//=========================================================================================================
// Первый класс модуля для определения 1-го элемента (параметра)
@@ -111,7 +116,12 @@ public:
}
}
~ExampleModule_A(){};
~ExampleModule_A()
{
// Удаляем класс библиотеки, а то при переконфигурации в нем не поменяются PIN и дугие параметры передаваемые в библиотеку.
delete libXX;
libXX = nullptr;
};
};
//=========================================================================================================
@@ -128,6 +138,7 @@ class ExampleModule_B : public IoTItem
private:
// Пользовательские переменные
unsigned int _pin;
public:
ExampleModule_B(String parameters) : IoTItem(parameters)
{
@@ -204,9 +215,13 @@ public:
// Прсото пример кокой-то функции
}
~ExampleModule_B(){};
~ExampleModule_B()
{
// Удаляем класс библиотеки, а то при переконфигурации в нем не поменяются PIN и дугие параметры передаваемые в библиотеку.
delete libXX;
libXX = nullptr;
};
};
//=========================================================================================================
//=========================================================================================================

View File

@@ -235,7 +235,11 @@ public:
}
}
}
~ld2410m(){};
~ld2410m()
{
delete ld2410;
radar = nullptr;
};
};
//---------------------------------------------------------------------------
@@ -291,7 +295,11 @@ public:
}
}
~ld2410t(){};
~ld2410t()
{
delete ld2410;
radar = nullptr;
};
};
//---------------------------------------------------------------------------
@@ -346,7 +354,11 @@ public:
}
}
}
~ld2410d(){};
~ld2410d()
{
delete ld2410;
radar = nullptr;
};
};
//---------------------------------------------------------------------------
@@ -404,7 +416,11 @@ public:
}
}
}
~ld2410e(){};
~ld2410e()
{
delete ld2410;
radar = nullptr;
};
};
//---------------------------------------------------------------------------
void *getAPI_ld2410(String subtype, String param)