mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
Добавляем комментарии и наводим порядок
This commit is contained in:
@@ -180,7 +180,7 @@ void csvCmdExecute(String& cmdStr) {
|
|||||||
SerialPrint("I", "Debug moduleInfo.parameters", buf);
|
SerialPrint("I", "Debug moduleInfo.parameters", buf);
|
||||||
|
|
||||||
if (moduleInfo.type == "Sensor") {
|
if (moduleInfo.type == "Sensor") {
|
||||||
myLineParsing.update();
|
myLineParsing.update(); //v3dev: пока используем мостик для совместимости версий, предполагается, что настройки сразу будут в JSON
|
||||||
String interval = myLineParsing.gint();
|
String interval = myLineParsing.gint();
|
||||||
String pin = myLineParsing.gpin();
|
String pin = myLineParsing.gpin();
|
||||||
String index = myLineParsing.gindex();
|
String index = myLineParsing.gindex();
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
extern std::vector<IoTModule*> iotModules; //v3dev: вектор ссылок базового класса IoTModule - интерфейсы для общения со всеми поддерживаемыми системой модулями
|
extern std::vector<IoTModule*> iotModules; //v3dev: вектор ссылок базового класса IoTModule - интерфейсы для общения со всеми поддерживаемыми системой модулями
|
||||||
|
|
||||||
#define IOTSENSORKEY "dallas-temp"
|
#define IOTDALLASTEMPKEY "dallas-temp"
|
||||||
|
|
||||||
class IoTSensorDallas: public IoTSensor {
|
class IoTSensorDallas: public IoTSensor {
|
||||||
private:
|
private:
|
||||||
@@ -26,7 +26,7 @@ class IoTSensorDallas: public IoTSensor {
|
|||||||
public:
|
public:
|
||||||
//аналог setup() из Arduino
|
//аналог setup() из Arduino
|
||||||
IoTSensorDallas(String parameters) {
|
IoTSensorDallas(String parameters) {
|
||||||
init(jsonReadInt(parameters, "int"), IOTSENSORKEY); //передаем часть базовых параметров в конструктор базового класса для обеспечения работы его методов
|
init(jsonReadInt(parameters, "int"), IOTDALLASTEMPKEY); //передаем часть базовых параметров в конструктор базового класса для обеспечения работы его методов
|
||||||
_pin = jsonReadInt(parameters, "pin");
|
_pin = jsonReadInt(parameters, "pin");
|
||||||
_index = jsonReadInt(parameters, "index");
|
_index = jsonReadInt(parameters, "index");
|
||||||
_addr = jsonReadStr(parameters, "addr");
|
_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 {
|
class IoTModuleDallasTemp: public IoTModule {
|
||||||
|
//обязательный метод для инициализации экземпляра датчика, вызывается при чтении конфигурации. Нужно учитывать, что некоторые датчики могут обеспечивать
|
||||||
|
//несколько измерений, для каждого будет отдельный вызов.
|
||||||
void* initInstance(String parameters) {
|
void* initInstance(String parameters) {
|
||||||
SerialPrint("I", "Debug", "Вызывается initInstance из IoTModuleDallasTemp");
|
|
||||||
|
|
||||||
return new IoTSensorDallas(parameters);
|
return new IoTSensorDallas(parameters);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//обязательный метод для отправки информации о модуле,
|
||||||
ModuleInfo getInfo() {
|
ModuleInfo getInfo() {
|
||||||
ModuleInfo MI;
|
ModuleInfo MI;
|
||||||
MI.key = IOTSENSORKEY;
|
MI.key = IOTDALLASTEMPKEY;
|
||||||
MI.name = "Датчик температуры Ds18b20";
|
MI.name = "Датчик температуры Ds18b20";
|
||||||
MI.parameters = "{\"addr\": \"\", \"int\": \"10\", \"pin\": \"18\", \"index\": \"0\"}";
|
MI.parameters = "{\"addr\": \"\", \"int\": \"10\", \"pin\": \"18\", \"index\": \"0\"}";
|
||||||
MI.type = "Sensor";
|
MI.type = "Sensor";
|
||||||
@@ -94,9 +80,8 @@ class IoTModuleDallasTemp: public IoTModule {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//точка входа в модуль для заполнения вектора, требуется только изменить имя и прописать в файле api.cpp
|
||||||
void getApiIoTSensorDallasTemp() {
|
void getApiIoTSensorDallasTemp() {
|
||||||
SerialPrint("I", "Debug", "call getApiIoTSensorDallasTemp");
|
|
||||||
iotModules.push_back(new IoTModuleDallasTemp());
|
iotModules.push_back(new IoTModuleDallasTemp());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#include "Utils/SerialPrint.h"
|
#include "Utils/SerialPrint.h"
|
||||||
|
//объявляем функцию для добавления модуля в вектор
|
||||||
void getApiIoTSensorDallasTemp();
|
void getApiIoTSensorDallasTemp();
|
||||||
|
|
||||||
int InitModulesApi() {
|
//формируем вектор модулей путем вызова из каждого модуля специальной функции
|
||||||
SerialPrint("I", "Debug", "call InitModulesApi");
|
//в дальнейшем предполагается отключать вызов, если модуль не участвует в сборке
|
||||||
|
void InitModulesApi() {
|
||||||
getApiIoTSensorDallasTemp();
|
getApiIoTSensorDallasTemp();
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
std::vector<IoTModule*> iotModules; //v3dev: вектор ссылок базового класса IoTModule - интерфейсы для общения со всеми поддерживаемыми системой модулями
|
std::vector<IoTModule*> iotModules; //v3dev: вектор ссылок базового класса IoTModule - интерфейсы для общения со всеми поддерживаемыми системой модулями
|
||||||
std::vector<IoTSensor*> iotSensors; //v3dev: вектор ссылок базового класса IoTSensor - список всех запущенных сенсоров
|
std::vector<IoTSensor*> iotSensors; //v3dev: вектор ссылок базового класса IoTSensor - список всех запущенных сенсоров
|
||||||
int InitModulesApi(); //v3dev: инициализация модуля при первом вызове .
|
void InitModulesApi(); //v3dev: инициализация модуля при первом вызове .
|
||||||
|
|
||||||
|
|
||||||
void not_async_actions();
|
void not_async_actions();
|
||||||
|
|||||||
Reference in New Issue
Block a user