Добавляем комментарии и наводим порядок

This commit is contained in:
2021-12-23 13:02:06 +03:00
parent faa865e78d
commit 5fecb51d69
4 changed files with 15 additions and 28 deletions

View File

@@ -179,8 +179,8 @@ void csvCmdExecute(String& cmdStr) {
if (moduleInfo.key == order) {
SerialPrint("I", "Debug moduleInfo.parameters", buf);
if (moduleInfo.type == "Sensor") {
myLineParsing.update();
if (moduleInfo.type == "Sensor") {
myLineParsing.update(); //v3dev: пока используем мостик для совместимости версий, предполагается, что настройки сразу будут в JSON
String interval = myLineParsing.gint();
String pin = myLineParsing.gpin();
String index = myLineParsing.gindex();

View File

@@ -10,7 +10,7 @@
extern std::vector<IoTModule*> iotModules; //v3dev: вектор ссылок базового класса IoTModule - интерфейсы для общения со всеми поддерживаемыми системой модулями
#define IOTSENSORKEY "dallas-temp"
#define IOTDALLASTEMPKEY "dallas-temp"
class IoTSensorDallas: public IoTSensor {
private:
@@ -26,7 +26,7 @@ class IoTSensorDallas: public IoTSensor {
public:
//аналог setup() из Arduino
IoTSensorDallas(String parameters) {
init(jsonReadInt(parameters, "int"), IOTSENSORKEY); //передаем часть базовых параметров в конструктор базового класса для обеспечения работы его методов
init(jsonReadInt(parameters, "int"), IOTDALLASTEMPKEY); //передаем часть базовых параметров в конструктор базового класса для обеспечения работы его методов
_pin = jsonReadInt(parameters, "pin");
_index = jsonReadInt(parameters, "index");
_addr = jsonReadStr(parameters, "addr");
@@ -61,32 +61,18 @@ class IoTSensorDallas: public IoTSensor {
}
};
// void dallas() {
// myLineParsing.update();
// String interval = myLineParsing.gint();
// String pin = myLineParsing.gpin();
// String index = myLineParsing.gindex();
// String key = myLineParsing.gkey();
// String addr = myLineParsing.gaddr();
// myLineParsing.clear();
// static bool firstTime = true;
// if (firstTime) mySensorDallas2 = new MySensorDallasVector();
// firstTime = false;
// }
//технический класс для взаимодействия с ядром, меняются только названия
class IoTModuleDallasTemp: public IoTModule {
//обязательный метод для инициализации экземпляра датчика, вызывается при чтении конфигурации. Нужно учитывать, что некоторые датчики могут обеспечивать
//несколько измерений, для каждого будет отдельный вызов.
void* initInstance(String parameters) {
SerialPrint("I", "Debug", "Вызывается initInstance из IoTModuleDallasTemp");
return new IoTSensorDallas(parameters);
};
//обязательный метод для отправки информации о модуле,
ModuleInfo getInfo() {
ModuleInfo MI;
MI.key = IOTSENSORKEY;
MI.key = IOTDALLASTEMPKEY;
MI.name = "Датчик температуры Ds18b20";
MI.parameters = "{\"addr\": \"\", \"int\": \"10\", \"pin\": \"18\", \"index\": \"0\"}";
MI.type = "Sensor";
@@ -94,9 +80,8 @@ class IoTModuleDallasTemp: public IoTModule {
};
};
//точка входа в модуль для заполнения вектора, требуется только изменить имя и прописать в файле api.cpp
void getApiIoTSensorDallasTemp() {
SerialPrint("I", "Debug", "call getApiIoTSensorDallasTemp");
iotModules.push_back(new IoTModuleDallasTemp());
return;
}

View File

@@ -1,7 +1,9 @@
#include "Utils/SerialPrint.h"
//объявляем функцию для добавления модуля в вектор
void getApiIoTSensorDallasTemp();
int InitModulesApi() {
SerialPrint("I", "Debug", "call InitModulesApi");
//формируем вектор модулей путем вызова из каждого модуля специальной функции
//в дальнейшем предполагается отключать вызов, если модуль не участвует в сборке
void InitModulesApi() {
getApiIoTSensorDallasTemp();
}

View File

@@ -43,7 +43,7 @@
std::vector<IoTModule*> iotModules; //v3dev: вектор ссылок базового класса IoTModule - интерфейсы для общения со всеми поддерживаемыми системой модулями
std::vector<IoTSensor*> iotSensors; //v3dev: вектор ссылок базового класса IoTSensor - список всех запущенных сенсоров
int InitModulesApi(); //v3dev: инициализация модуля при первом вызове .
void InitModulesApi(); //v3dev: инициализация модуля при первом вызове .
void not_async_actions();