mirror of
https://github.com/anklimov/lighthub
synced 2025-12-07 12:19:49 +03:00
root
applyConfig And *Pool* to *Poll* of course
This commit is contained in:
@@ -80,7 +80,7 @@ void Input::Parse()
|
||||
}
|
||||
}
|
||||
|
||||
int Input::Pool ()
|
||||
int Input::Poll()
|
||||
{
|
||||
boolean v;
|
||||
if (!isValid()) return -1;
|
||||
|
||||
@@ -87,7 +87,7 @@ class Input
|
||||
boolean isValid ();
|
||||
void Changed (int val);
|
||||
|
||||
int Pool ();
|
||||
int Poll();
|
||||
protected:
|
||||
void Parse();
|
||||
};
|
||||
|
||||
@@ -647,7 +647,7 @@ OFF
|
||||
[22:25:34] => Poll: 0A 06 07 D0 00 00 88 3C
|
||||
|
||||
|
||||
POOL 2101x10
|
||||
POLL 2101x10
|
||||
[22:27:29] <= Response: 0A 03 14 00 23 00 00 27 10 13 88 0B 9C 00 32 00 F8 00 F2 06 FA 01 3F AD D0
|
||||
[22:27:29] => Poll: 0A 03 08 34 00 0A 87 18
|
||||
|
||||
@@ -854,7 +854,7 @@ int Item::checkFM() {
|
||||
|
||||
Serial.println();
|
||||
} else {
|
||||
Serial.print(F("Modbus pooling error="));
|
||||
Serial.print(F("Modbus polling error="));
|
||||
Serial.println(result, HEX);
|
||||
}
|
||||
|
||||
@@ -887,7 +887,7 @@ int Item::checkFM() {
|
||||
|
||||
Serial.println();
|
||||
} else {
|
||||
Serial.print(F("Modbus pooling error="));
|
||||
Serial.print(F("Modbus polling error="));
|
||||
Serial.println(result, HEX);
|
||||
}
|
||||
|
||||
@@ -927,7 +927,7 @@ int Item::checkModbus() {
|
||||
Serial.println(data, HEX);
|
||||
checkModbus(data);
|
||||
} else {
|
||||
Serial.print(F("Modbus pooling error="));
|
||||
Serial.print(F("Modbus polling error="));
|
||||
Serial.println(result, HEX);
|
||||
}
|
||||
|
||||
@@ -969,7 +969,7 @@ int Item::checkModbus(int data) {
|
||||
} //if data changed
|
||||
}
|
||||
|
||||
int Item::Pool() {
|
||||
int Item::Poll() {
|
||||
switch (itemType) {
|
||||
case CH_MODBUS:
|
||||
checkModbus();
|
||||
|
||||
@@ -47,7 +47,7 @@ e-mail anklimov@gmail.com
|
||||
|
||||
#include "aJSON.h"
|
||||
|
||||
extern aJsonObject *items;
|
||||
extern aJsonObject *items;
|
||||
|
||||
int txt2cmd (char * payload);
|
||||
|
||||
@@ -85,7 +85,7 @@ class Item
|
||||
inline int On (){Ctrl(CMD_ON);};
|
||||
inline int Off(){Ctrl(CMD_OFF);};
|
||||
inline int Toggle(){Ctrl(CMD_TOGGLE);};
|
||||
int Pool ();
|
||||
int Poll();
|
||||
int SendCmd(short cmd,short n=0, int * Par=NULL);
|
||||
|
||||
protected:
|
||||
|
||||
@@ -180,7 +180,7 @@ extern Artnet *artnet;
|
||||
const char outprefix[] PROGMEM = "/myhome/s_out/";
|
||||
#define subprefix "/myhome/in/#"
|
||||
|
||||
aJsonObject *aJsonObjectRoot = NULL;
|
||||
aJsonObject *root = NULL;
|
||||
aJsonObject *items = NULL;
|
||||
aJsonObject *inputs = NULL;
|
||||
|
||||
@@ -597,10 +597,10 @@ void _kill(int arg_cnt, char **args) {
|
||||
|
||||
#define EEPROM_offset 32+6
|
||||
|
||||
void parseConfigFromParsedJSON() {
|
||||
void applyConfig() {
|
||||
int arrayItemValue, itemsCount;
|
||||
//DMX out is configured
|
||||
aJsonObject *dmxoutArr = aJson.getObjectItem(aJsonObjectRoot, "dmx");
|
||||
aJsonObject *dmxoutArr = aJson.getObjectItem(root, "dmx");
|
||||
#ifdef _dmxout
|
||||
if (dmxoutArr && aJson.getArraySize(dmxoutArr) == 2) {
|
||||
DMXoutSetup(arrayItemValue = aJson.getArrayItem(dmxoutArr, 1)->valueint,
|
||||
@@ -611,7 +611,7 @@ void parseConfigFromParsedJSON() {
|
||||
#endif
|
||||
//DMX in is configured
|
||||
#ifdef _dmxin
|
||||
dmxArr = aJson.getObjectItem(aJsonObjectRoot, "dmxin");
|
||||
dmxArr = aJson.getObjectItem(root, "dmxin");
|
||||
if (dmxArr && (itemsCount = aJson.getArraySize(dmxArr))) {
|
||||
DMXinSetup(itemsCount * 4);
|
||||
Serial.print(F("DMX in started. Channels:"));
|
||||
@@ -619,18 +619,18 @@ void parseConfigFromParsedJSON() {
|
||||
}
|
||||
#endif
|
||||
|
||||
items = aJson.getObjectItem(aJsonObjectRoot, "items");
|
||||
items = aJson.getObjectItem(root, "items");
|
||||
modbusitem = items->child;
|
||||
inputs = aJson.getObjectItem(aJsonObjectRoot, "in");
|
||||
inputs = aJson.getObjectItem(root, "in");
|
||||
|
||||
#ifdef _modbus
|
||||
modbusArr = aJson.getObjectItem(aJsonObjectRoot, "modbus");
|
||||
modbusArr = aJson.getObjectItem(root, "modbus");
|
||||
#endif
|
||||
|
||||
mqttArr = aJson.getObjectItem(aJsonObjectRoot, "mqtt");
|
||||
mqttArr = aJson.getObjectItem(root, "mqtt");
|
||||
|
||||
#ifdef _owire
|
||||
owArr = aJson.getObjectItem(aJsonObjectRoot, "ow");
|
||||
owArr = aJson.getObjectItem(root, "ow");
|
||||
#endif
|
||||
|
||||
Serial.println(F("Configured:"));
|
||||
@@ -679,15 +679,15 @@ int loadConfigFromEEPROM(int arg_cnt, char **args)
|
||||
ch = EEPROM.read(EEPROM_offset);
|
||||
if (ch == '{') {
|
||||
aJsonEEPROMStream as = aJsonEEPROMStream(EEPROM_offset);
|
||||
aJson.deleteItem(aJsonObjectRoot);
|
||||
aJsonObjectRoot = aJson.parse(&as);
|
||||
aJson.deleteItem(root);
|
||||
root = aJson.parse(&as);
|
||||
Serial.println();
|
||||
if (!aJsonObjectRoot) {
|
||||
if (!root) {
|
||||
Serial.println(F("load failed"));
|
||||
return 0;
|
||||
}
|
||||
Serial.println(F("Loaded"));
|
||||
parseConfigFromParsedJSON();
|
||||
applyConfig();
|
||||
return 1;
|
||||
} else {
|
||||
Serial.println(F("No stored config"));
|
||||
@@ -726,14 +726,14 @@ int mqttConfigResp(char *as) {
|
||||
//aJsonEEPROMStream as=aJsonEEPROMStream(EEPROM_offset);
|
||||
|
||||
//aJson.deleteItem(root);
|
||||
aJsonObjectRoot = aJson.parse(as);
|
||||
root = aJson.parse(as);
|
||||
Serial.println();
|
||||
if (!aJsonObjectRoot) {
|
||||
if (!root) {
|
||||
Serial.println(F("load failed"));
|
||||
return 0;
|
||||
}
|
||||
Serial.println(F("Loaded"));
|
||||
parseConfigFromParsedJSON();
|
||||
applyConfig();
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -742,7 +742,7 @@ void _saveConfigToEEPROM(int arg_cnt, char **args)
|
||||
{
|
||||
aJsonEEPROMStream jsonEEPROMStream = aJsonEEPROMStream(EEPROM_offset);
|
||||
Serial.println(F("Saving config to EEPROM.."));
|
||||
aJson.print(aJsonObjectRoot, &jsonEEPROMStream);
|
||||
aJson.print(root, &jsonEEPROMStream);
|
||||
jsonEEPROMStream.putEOF();
|
||||
Serial.println(F("Saved to EEPROM"));
|
||||
}
|
||||
@@ -822,20 +822,20 @@ int getConfig(int arg_cnt, char **args)
|
||||
|
||||
Serial.println(F("got Config"));
|
||||
aJsonFileStream as = aJsonFileStream(result);
|
||||
aJson.deleteItem(aJsonObjectRoot);
|
||||
aJsonObjectRoot = aJson.parse(&as);
|
||||
aJson.deleteItem(root);
|
||||
root = aJson.parse(&as);
|
||||
hclient.closeStream(result); // this is very important -- be sure to close the STREAM
|
||||
|
||||
if (!aJsonObjectRoot) {
|
||||
if (!root) {
|
||||
Serial.println(F("Config parsing failed"));
|
||||
lanCheck = millis() + 15000;
|
||||
return -11;
|
||||
} else {
|
||||
char *outstr = aJson.print(aJsonObjectRoot);
|
||||
char *outstr = aJson.print(root);
|
||||
Serial.println(outstr);
|
||||
free(outstr);
|
||||
|
||||
parseConfigFromParsedJSON();
|
||||
applyConfig();
|
||||
|
||||
|
||||
}
|
||||
@@ -877,10 +877,10 @@ int getConfig(int arg_cnt, char **args)
|
||||
//Serial.print("GET Response: ");
|
||||
|
||||
if (responseStatusCode == 200) {
|
||||
aJson.deleteItem(aJsonObjectRoot);
|
||||
aJsonObjectRoot = aJson.parse((char *) response.c_str());
|
||||
aJson.deleteItem(root);
|
||||
root = aJson.parse((char *) response.c_str());
|
||||
|
||||
if (!aJsonObjectRoot) {
|
||||
if (!root) {
|
||||
Serial.println(F("Config parsing failed"));
|
||||
// lanCheck=millis()+15000;
|
||||
return -11; //Load from NVRAM
|
||||
@@ -891,7 +891,7 @@ int getConfig(int arg_cnt, char **args)
|
||||
free (outstr);
|
||||
*/
|
||||
Serial.println(response);
|
||||
parseConfigFromParsedJSON();
|
||||
applyConfig();
|
||||
|
||||
|
||||
}
|
||||
@@ -1095,7 +1095,7 @@ void inputLoop(void) {
|
||||
while (input) {
|
||||
if ((input->type == aJson_Object)) {
|
||||
Input in(input);
|
||||
in.Pool();
|
||||
in.Poll();
|
||||
}
|
||||
input = input->next;
|
||||
}
|
||||
@@ -1117,7 +1117,7 @@ void modbusLoop(void) {
|
||||
//case CH_VCTEMP:
|
||||
case CH_VC: {
|
||||
Item it(modbusitem);
|
||||
it.Pool();
|
||||
it.Poll();
|
||||
modbuscheck = millis() + 2000;
|
||||
done = true;
|
||||
break; //case;
|
||||
|
||||
@@ -25,7 +25,7 @@ void Changed (int i, DeviceAddress addr, int val);
|
||||
void modbusIdle(void);
|
||||
void _handleHelp(int arg_cnt, char **args);
|
||||
void _kill(int arg_cnt, char **args);
|
||||
void parseConfigFromParsedJSON();
|
||||
void applyConfig();
|
||||
void _loadConfig (int arg_cnt, char **args);
|
||||
int loadConfigFromEEPROM(int arg_cnt, char **args);
|
||||
void _mqttConfigRequest(int arg_cnt, char **args);
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
[platformio]
|
||||
src_dir = lighthub
|
||||
env_default =
|
||||
megaatmega2560
|
||||
; due
|
||||
; megaatmega2560
|
||||
due
|
||||
|
||||
[env:due]
|
||||
platform = atmelsam
|
||||
|
||||
Reference in New Issue
Block a user