diff --git a/lighthub/homiedef.h b/lighthub/homiedef.h deleted file mode 100644 index e0b7149..0000000 --- a/lighthub/homiedef.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -const char state_P[] PROGMEM = "$state"; -const char disconnected_P[] PROGMEM = "disconnected"; -const char ready_P[] PROGMEM = "ready"; - -const char homie_P[] PROGMEM = "$homie"; -const char homiever_P[] PROGMEM = "2.1.0"; - -const char name_P[] PROGMEM = "$name"; -const char nameval_P[] PROGMEM = "LightHub "; - -const char nodes_P[] PROGMEM = "$nodes"; -const char localip_P[] PROGMEM = "$localip"; -const char mac_P[] PROGMEM = "$mac"; -const char fwname_P[] PROGMEM = "$fw/name"; -const char fwversion_P[] PROGMEM = "$fw/version"; -const char implementation_P[] PROGMEM = "$implementation"; -const char interval_P[] PROGMEM = "$stats/interval"; -const char color_P[] PROGMEM = "color"; - -const char datatype_P[] PROGMEM = "$datatype"; - -const char float_P[] PROGMEM = "float"; -const char hsv_P[] PROGMEM = "hsv"; -const char int_P[] PROGMEM = "integer"; -const char enum_P[] PROGMEM = "enum"; -const char format_P[] PROGMEM = "$format"; -const char true_P[] PROGMEM = "true"; -const char false_P[] PROGMEM = "false"; - -const char enumformat_P[] PROGMEM = "ON,OFF,HALT,REST,XON,XOFF,TOGGLE"; -const char intformat_P[] PROGMEM = "0-100"; - -const char stats_P[] PROGMEM = "$stats"; -const char statsval_P[] PROGMEM = "uptime,freeheap"; -const char uptime_P[] PROGMEM = "uptime"; -const char freeheap_P[] PROGMEM = "freeheap"; diff --git a/lighthub/item.cpp b/lighthub/item.cpp index e249ae3..3cd1f21 100644 --- a/lighthub/item.cpp +++ b/lighthub/item.cpp @@ -22,6 +22,7 @@ e-mail anklimov@gmail.com #include "item.h" #include "aJSON.h" #include "utils.h" +#include "homiedef.h" #ifdef _dmxout #include "dmx.h" @@ -36,48 +37,6 @@ e-mail anklimov@gmail.com #include "modules/out_spiled.h" #include "modules/out_ac.h" -//Commands -const char ON_P[] PROGMEM = "ON"; -const char OFF_P[] PROGMEM = "OFF"; -const char REST_P[] PROGMEM = "REST"; -const char TOGGLE_P[] PROGMEM = "TOGGLE"; -const char HALT_P[] PROGMEM = "HALT"; -const char XON_P[] PROGMEM = "XON"; -const char XOFF_P[] PROGMEM = "XOFF"; -const char INCREASE_P[] PROGMEM = "INCREASE"; -const char DECREASE_P[] PROGMEM = "DECREASE"; -const char TRUE_P[] PROGMEM = "TRUE"; -const char FALSE_P[] PROGMEM = "FALSE"; - -const char ENABLED_P[] PROGMEM = "ENABLED"; -const char DISABLED_P[] PROGMEM = "DISABLED"; - -char HEAT_P[] PROGMEM = "HEAT"; -char COOL_P[] PROGMEM = "COOL"; -char AUTO_P[] PROGMEM = "AUTO"; -char FAN_ONLY_P[] PROGMEM = "FAN_ONLY"; -char DRY_P[] PROGMEM = "DRY"; -char HIGH_P[] PROGMEM = "HIGH"; -char MED_P[] PROGMEM = "MEDIUM"; -char LOW_P[] PROGMEM = "LOW"; -// SubTopics -const char SET_P[] PROGMEM = "set"; -const char CMD_P[] PROGMEM = "cmd"; -const char MODE_P[] PROGMEM = "mode"; -const char FAN_P[] PROGMEM = "fan"; -/* -const char TEMP_P[] PROGMEM = "temp"; -const char SETPOINT_P[] PROGMEM = "setpoint"; -const char POWER_P[] PROGMEM = "power"; -const char VOL_P[] PROGMEM = "vol"; -const char HEAT_P[] PROGMEM = "heat"; -*/ -const char HSV_P[] PROGMEM = "HSV"; -const char RGB_P[] PROGMEM = "RGB"; -/* -const char RPM_P[] PROGMEM = "rpm"; -const char STATE_P[] PROGMEM = "state"; -*/ short modbusBusy = 0; extern aJsonObject *pollingItem; extern PubSubClient mqttClient; diff --git a/lighthub/modules/out_ac.cpp b/lighthub/modules/out_ac.cpp index c53229b..e0354b1 100644 --- a/lighthub/modules/out_ac.cpp +++ b/lighthub/modules/out_ac.cpp @@ -5,8 +5,12 @@ #include "options.h" #include "Streaming.h" #include "item.h" +#include "homiedef.h" +#ifndef AC_Serial #define AC_Serial Serial3 +#endif + #define INTERVAL_AC_POLLING 5000L static int driverStatus = CST_UNKNOWN; @@ -34,15 +38,16 @@ const char QUIET_P[] PROGMEM = "queit"; const char SWING_P[] PROGMEM = "swing"; const char RAW_P[] PROGMEM = "raw"; //const char IDLE_P[] PROGMEM = "IDLE"; -extern char HEAT_P[] PROGMEM; -extern char COOL_P[] PROGMEM; -extern char AUTO_P[] PROGMEM; -extern char FAN_ONLY_P[] PROGMEM; -extern char DRY_P[] PROGMEM; -extern char HIGH_P[] PROGMEM; -extern char MED_P[] PROGMEM; -extern char LOW_P[] PROGMEM; - +/* +extern const char HEAT_P[] PROGMEM; +extern const char COOL_P[] PROGMEM; +extern const char AUTO_P[] PROGMEM; +extern const char FAN_ONLY_P[] PROGMEM; +extern const char DRY_P[] PROGMEM; +extern const char HIGH_P[] PROGMEM; +extern const char MED_P[] PROGMEM; +extern const char LOW_P[] PROGMEM; +*/ void out_AC::InsertData(byte data[], size_t size){ char s_mode[10]; diff --git a/lighthub/options.h b/lighthub/options.h index b12b0cb..7765091 100644 --- a/lighthub/options.h +++ b/lighthub/options.h @@ -135,8 +135,10 @@ //All options available #ifdef CONTROLLINO #define modbusSerial Serial3 +#define AC_Serial Serial2 #else #define modbusSerial Serial2 +#define AC_Serial Serial3 #endif #define dmxin DMXSerial #define dmxout DmxSimple @@ -144,6 +146,7 @@ #if defined(__SAM3X8E__) #define modbusSerial Serial2 +#define AC_Serial Serial3 #define dmxout DmxDue1 #define dmxin DmxDue1 #endif @@ -162,7 +165,9 @@ #ifndef DMX_DISABLE #define _espdmx #endif + #define modbusSerial Serial1 +#define AC_Serial Serial1 #endif #if defined(ARDUINO_ARCH_ESP32) diff --git a/lighthub/textconst.h b/lighthub/textconst.h new file mode 100644 index 0000000..b8d71c6 --- /dev/null +++ b/lighthub/textconst.h @@ -0,0 +1,82 @@ +#pragma once + +const char state_P[] PROGMEM = "$state"; +const char disconnected_P[] PROGMEM = "disconnected"; +const char ready_P[] PROGMEM = "ready"; + +const char homie_P[] PROGMEM = "$homie"; +const char homiever_P[] PROGMEM = "2.1.0"; + +const char name_P[] PROGMEM = "$name"; +const char nameval_P[] PROGMEM = "LightHub "; + +const char nodes_P[] PROGMEM = "$nodes"; +const char localip_P[] PROGMEM = "$localip"; +const char mac_P[] PROGMEM = "$mac"; +const char fwname_P[] PROGMEM = "$fw/name"; +const char fwversion_P[] PROGMEM = "$fw/version"; +const char implementation_P[] PROGMEM = "$implementation"; +const char interval_P[] PROGMEM = "$stats/interval"; +const char color_P[] PROGMEM = "color"; + +const char datatype_P[] PROGMEM = "$datatype"; + +const char float_P[] PROGMEM = "float"; +const char hsv_P[] PROGMEM = "hsv"; +const char int_P[] PROGMEM = "integer"; +const char enum_P[] PROGMEM = "enum"; +const char format_P[] PROGMEM = "$format"; +const char true_P[] PROGMEM = "true"; +const char false_P[] PROGMEM = "false"; + +const char enumformat_P[] PROGMEM = "ON,OFF,HALT,REST,XON,XOFF,TOGGLE"; +const char intformat_P[] PROGMEM = "0-100"; + +const char stats_P[] PROGMEM = "$stats"; +const char statsval_P[] PROGMEM = "uptime,freeheap"; +const char uptime_P[] PROGMEM = "uptime"; +const char freeheap_P[] PROGMEM = "freeheap"; + + +//Commands +const char ON_P[] PROGMEM = "ON"; +const char OFF_P[] PROGMEM = "OFF"; +const char REST_P[] PROGMEM = "REST"; +const char TOGGLE_P[] PROGMEM = "TOGGLE"; +const char HALT_P[] PROGMEM = "HALT"; +const char XON_P[] PROGMEM = "XON"; +const char XOFF_P[] PROGMEM = "XOFF"; +const char INCREASE_P[] PROGMEM = "INCREASE"; +const char DECREASE_P[] PROGMEM = "DECREASE"; +const char TRUE_P[] PROGMEM = "TRUE"; +const char FALSE_P[] PROGMEM = "FALSE"; + +const char ENABLED_P[] PROGMEM = "ENABLED"; +const char DISABLED_P[] PROGMEM = "DISABLED"; + +const char HEAT_P[] PROGMEM = "HEAT"; +const char COOL_P[] PROGMEM = "COOL"; +const static char AUTO_P[] PROGMEM = "AUTO"; +const char FAN_ONLY_P[] PROGMEM = "FAN_ONLY"; +const char DRY_P[] PROGMEM = "DRY"; +const char HIGH_P[] PROGMEM = "HIGH"; +const char MED_P[] PROGMEM = "MEDIUM"; +const char LOW_P[] PROGMEM = "LOW"; +// SubTopics +const char SET_P[] PROGMEM = "set"; +const char CMD_P[] PROGMEM = "cmd"; +const char MODE_P[] PROGMEM = "mode"; +const char FAN_P[] PROGMEM = "fan"; +/* +const char TEMP_P[] PROGMEM = "temp"; +const char SETPOINT_P[] PROGMEM = "setpoint"; +const char POWER_P[] PROGMEM = "power"; +const char VOL_P[] PROGMEM = "vol"; +const char HEAT_P[] PROGMEM = "heat"; +*/ +const char HSV_P[] PROGMEM = "HSV"; +const char RGB_P[] PROGMEM = "RGB"; +/* +const char RPM_P[] PROGMEM = "rpm"; +const char STATE_P[] PROGMEM = "state"; +*/