mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-25 11:46:31 +00:00
Change EXS Dimmer driver
Change EXS Dimmer driver by Gerry Lenz (#6658)
This commit is contained in:
parent
e2effaba5a
commit
393ccd7799
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "А"
|
#define D_UNIT_AMPERE "А"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "A"
|
#define D_UNIT_AMPERE "A"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "А"
|
#define D_UNIT_AMPERE "А"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "安"
|
#define D_UNIT_AMPERE "安"
|
||||||
|
@ -626,7 +626,7 @@
|
|||||||
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
#define D_SENSOR_SM2135_CLK "SM2135 Clk"
|
||||||
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
#define D_SENSOR_SM2135_DAT "SM2135 Dat"
|
||||||
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
#define D_SENSOR_DEEPSLEEP "DeepSleep"
|
||||||
#define D_SENSOR_EXS_MCU_RESET "EXS Reset"
|
#define D_SENSOR_EXS_ENABLE "EXS Enable"
|
||||||
|
|
||||||
// Units
|
// Units
|
||||||
#define D_UNIT_AMPERE "安"
|
#define D_UNIT_AMPERE "安"
|
||||||
|
@ -207,7 +207,7 @@ enum UserSelectablePins {
|
|||||||
GPIO_SM2135_CLK, // SM2135 Clk
|
GPIO_SM2135_CLK, // SM2135 Clk
|
||||||
GPIO_SM2135_DAT, // SM2135 Dat
|
GPIO_SM2135_DAT, // SM2135 Dat
|
||||||
GPIO_DEEPSLEEP, // Kill switch for deepsleep
|
GPIO_DEEPSLEEP, // Kill switch for deepsleep
|
||||||
GPIO_EXS_MCU_RESET, // EXS MCU Reset
|
GPIO_EXS_ENABLE, // EXS MCU Enable
|
||||||
GPIO_SENSOR_END };
|
GPIO_SENSOR_END };
|
||||||
|
|
||||||
// Programmer selectable GPIO functionality
|
// Programmer selectable GPIO functionality
|
||||||
@ -285,7 +285,7 @@ const char kSensorNames[] PROGMEM =
|
|||||||
D_SENSOR_DDS2382_TX "|" D_SENSOR_DDS2382_RX "|"
|
D_SENSOR_DDS2382_TX "|" D_SENSOR_DDS2382_RX "|"
|
||||||
D_SENSOR_DDSU666_TX "|" D_SENSOR_DDSU666_RX "|"
|
D_SENSOR_DDSU666_TX "|" D_SENSOR_DDSU666_RX "|"
|
||||||
D_SENSOR_SM2135_CLK "|" D_SENSOR_SM2135_DAT "|"
|
D_SENSOR_SM2135_CLK "|" D_SENSOR_SM2135_DAT "|"
|
||||||
D_SENSOR_DEEPSLEEP "|" D_SENSOR_EXS_MCU_RESET "|"
|
D_SENSOR_DEEPSLEEP "|" D_SENSOR_EXS_ENABLE "|"
|
||||||
;
|
;
|
||||||
|
|
||||||
const char kSensorNamesFixed[] PROGMEM =
|
const char kSensorNamesFixed[] PROGMEM =
|
||||||
@ -576,7 +576,7 @@ const uint8_t kGpioNiceList[] PROGMEM = {
|
|||||||
GPIO_TUYA_RX, // Tuya Serial interface
|
GPIO_TUYA_RX, // Tuya Serial interface
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_EXS_DIMMER
|
#ifdef USE_EXS_DIMMER
|
||||||
GPIO_EXS_MCU_RESET, // EXS MCU Reset
|
GPIO_EXS_ENABLE, // EXS MCU Enable
|
||||||
#endif
|
#endif
|
||||||
#endif // USE_LIGHT
|
#endif // USE_LIGHT
|
||||||
|
|
||||||
@ -2131,12 +2131,12 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||||||
GPIO_REL4, // GPIO15 WIFI_O3 Relay 4 (0 = Off, 1 = On) controlling the fan
|
GPIO_REL4, // GPIO15 WIFI_O3 Relay 4 (0 = Off, 1 = On) controlling the fan
|
||||||
0, 0
|
0, 0
|
||||||
},
|
},
|
||||||
{ "EXS Dimmer", // EXS_DIMMER - EX-Stroe WiFi Dimmer v4, two channel (ESP8266 w/ separate MCU dimmer)
|
{ "EXS Dimmer", // EXS_DIMMER - EX-Store WiFi Dimmer v4, two channel (ESP8266 w/ separate MCU dimmer)
|
||||||
// https://ex-store.de/2-Kanal-RS232-WiFi-WLan-Dimmer-Modul-V4-fuer-Unterputzmontage-230V-3A
|
// https://ex-store.de/2-Kanal-RS232-WiFi-WLan-Dimmer-Modul-V4-fuer-Unterputzmontage-230V-3A
|
||||||
// https://ex-store.de/2-Kanal-RS232-WiFi-WLan-Dimmer-Modul-V4-fuer-Unterputzmontage-230V-3A-ESP8266-V12-Stift-und-Buchsenleisten
|
// https://ex-store.de/2-Kanal-RS232-WiFi-WLan-Dimmer-Modul-V4-fuer-Unterputzmontage-230V-3A-ESP8266-V12-Stift-und-Buchsenleisten
|
||||||
0,
|
0,
|
||||||
GPIO_TXD, // GPIO01 MCU serial control
|
GPIO_TXD, // GPIO01 MCU serial control
|
||||||
0,
|
GPIO_LEDLNK, // GPIO02 LED Link
|
||||||
GPIO_RXD, // GPIO03 MCU serial control
|
GPIO_RXD, // GPIO03 MCU serial control
|
||||||
GPIO_USER, // GPIO04
|
GPIO_USER, // GPIO04
|
||||||
GPIO_USER, // GPIO05
|
GPIO_USER, // GPIO05
|
||||||
@ -2147,7 +2147,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||||||
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
0, // GPIO10 (SD_DATA3 Flash QIO or ESP8285)
|
||||||
// GPIO11 (SD_CMD Flash)
|
// GPIO11 (SD_CMD Flash)
|
||||||
GPIO_USER, // GPIO12
|
GPIO_USER, // GPIO12
|
||||||
GPIO_EXS_MCU_RESET, // GPIO13 EXS MCU Reset
|
GPIO_EXS_ENABLE, // GPIO13 EXS MCU Enable
|
||||||
GPIO_USER, // GPIO14
|
GPIO_USER, // GPIO14
|
||||||
0, // GPIO15
|
0, // GPIO15
|
||||||
0, 0
|
0, 0
|
||||||
|
@ -251,20 +251,6 @@ bool ExsSyncState()
|
|||||||
ExsSyncState(1);
|
ExsSyncState(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void ExsSetChannelV10(uint8_t channel, const uint8_t *buffer)
|
|
||||||
{
|
|
||||||
Exs.dimmer.channel[channel].on = buffer[0];
|
|
||||||
Exs.dimmer.channel[channel].dimm = buffer[1];
|
|
||||||
Exs.dimmer.channel[channel].bright_tbl = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void ExsSetChannel(uint8_t channel, const uint8_t *buffer)
|
|
||||||
{
|
|
||||||
Exs.dimmer.channel[channel].on = buffer[0];
|
|
||||||
Exs.dimmer.channel[channel].dimm = buffer[1];
|
|
||||||
Exs.dimmer.channel[channel].bright_tbl = buffer[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
void ExsDebugState()
|
void ExsDebugState()
|
||||||
{
|
{
|
||||||
#ifdef EXS_DEBUG
|
#ifdef EXS_DEBUG
|
||||||
@ -288,21 +274,71 @@ void ExsPacketProcess(void)
|
|||||||
switch (cmd)
|
switch (cmd)
|
||||||
{
|
{
|
||||||
case EXS_GET_VALUES:
|
case EXS_GET_VALUES:
|
||||||
|
/*
|
||||||
|
format firmware 2.1
|
||||||
|
0. byte = startMarker
|
||||||
|
1. byte = 0. crc of bytes 2(CMD) - 11(GATE_LOCK)
|
||||||
|
2. byte = 1. len_Of_Payload
|
||||||
|
3. byte = 2. CMD
|
||||||
|
4. byte = 3. MAJOR
|
||||||
|
5. byte = 4. MINOR
|
||||||
|
6. byte = 5. GATE1_ON
|
||||||
|
7. byte = 6. GATE1_DIMM
|
||||||
|
8. byte = 7. GATE1.BRIGHT
|
||||||
|
9. byte = 8. GATE2_ON
|
||||||
|
10. byte = 9. GATE2_DIMM
|
||||||
|
11. byte = 10. GATE2.BRIGHT
|
||||||
|
12. byte = 11. GATE_LOCK
|
||||||
|
13. byte = '\0'
|
||||||
|
*/
|
||||||
if (len > 9)
|
if (len > 9)
|
||||||
{
|
{
|
||||||
Exs.dimmer.version_major = Exs.buffer[3];
|
Exs.dimmer.version_major = Exs.buffer[3];
|
||||||
Exs.dimmer.version_minor = Exs.buffer[4];
|
Exs.dimmer.version_minor = Exs.buffer[4];
|
||||||
ExsSetChannel(0, &Exs.buffer[5]);
|
|
||||||
ExsSetChannel(1, &Exs.buffer[8]);
|
//Exs.dimmer.channel[0].on = Exs.buffer[5];
|
||||||
|
Exs.dimmer.channel[0].on = Exs.buffer[6];
|
||||||
|
Exs.dimmer.channel[0].dimm = Exs.buffer[6];
|
||||||
|
Exs.dimmer.channel[0].bright_tbl = Exs.buffer[7];
|
||||||
|
|
||||||
|
//Exs.dimmer.channel[1].on = Exs.buffer[8];
|
||||||
|
Exs.dimmer.channel[1].on = Exs.buffer[9];
|
||||||
|
Exs.dimmer.channel[1].dimm = Exs.buffer[9];
|
||||||
|
Exs.dimmer.channel[1].bright_tbl = Exs.buffer[10];
|
||||||
|
|
||||||
Exs.dimmer.gate_lock = Exs.buffer[11];
|
Exs.dimmer.gate_lock = Exs.buffer[11];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
/*
|
||||||
|
format firmware 1.0
|
||||||
|
0. byte = startMarker
|
||||||
|
1. byte = 0. crc of bytes 2(CMD) - 9(GATE_LOCK)
|
||||||
|
2. byte = 1. len_Of_Payload
|
||||||
|
3. byte = 2. CMD
|
||||||
|
4. byte = 3. GATE1_ON
|
||||||
|
5. byte = 4. GATE1_DIMM
|
||||||
|
6. byte = 5. GATE1.BRIGHT
|
||||||
|
7. byte = 6. GATE2_ON
|
||||||
|
8. byte = 7. GATE2_DIMM
|
||||||
|
9. byte = 8. GATE2.BRIGHT
|
||||||
|
10. byte = 9. GATE_LOCK
|
||||||
|
11. byte = '\0'
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
Exs.dimmer.version_major = 1;
|
Exs.dimmer.version_major = 1;
|
||||||
Exs.dimmer.version_minor = 0;
|
Exs.dimmer.version_minor = 0;
|
||||||
ExsSetChannel(0, &Exs.buffer[3]);
|
|
||||||
ExsSetChannel(1, &Exs.buffer[5]);
|
//Exs.dimmer.channel[0].on = Exs.buffer[3] - 48;
|
||||||
Exs.dimmer.gate_lock = Exs.buffer[8];
|
Exs.dimmer.channel[0].on = Exs.buffer[4] - 48;
|
||||||
|
Exs.dimmer.channel[0].dimm = Exs.buffer[4] - 48;
|
||||||
|
Exs.dimmer.channel[0].bright_tbl = Exs.buffer[5] - 48;
|
||||||
|
|
||||||
|
//Exs.dimmer.channel[1].on = Exs.buffer[6] - 48;
|
||||||
|
Exs.dimmer.channel[1].on = Exs.buffer[7] - 48;
|
||||||
|
Exs.dimmer.channel[1].dimm = Exs.buffer[7] - 48;
|
||||||
|
Exs.dimmer.channel[1].bright_tbl = Exs.buffer[8] - 48;
|
||||||
|
|
||||||
|
Exs.dimmer.gate_lock = Exs.buffer[9] - 48;
|
||||||
}
|
}
|
||||||
|
|
||||||
ExsDebugState();
|
ExsDebugState();
|
||||||
@ -313,7 +349,6 @@ void ExsPacketProcess(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* API Functions
|
* API Functions
|
||||||
*/
|
*/
|
||||||
@ -360,11 +395,11 @@ void EsxMcuStart(void)
|
|||||||
int retries = 3;
|
int retries = 3;
|
||||||
|
|
||||||
#ifdef EXS_DEBUG
|
#ifdef EXS_DEBUG
|
||||||
AddLog_P2(LOG_LEVEL_DEBUG, PSTR("EXS: Request MCU configuration, PIN %d to Low"), pin[GPIO_EXS_MCU_RESET]);
|
AddLog_P2(LOG_LEVEL_DEBUG, PSTR("EXS: Request MCU configuration, PIN %d to Low"), pin[GPIO_EXS_ENABLE]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pinMode(pin[GPIO_EXS_MCU_RESET], OUTPUT);
|
pinMode(pin[GPIO_EXS_ENABLE], OUTPUT);
|
||||||
digitalWrite(pin[GPIO_EXS_MCU_RESET], LOW);
|
digitalWrite(pin[GPIO_EXS_ENABLE], LOW);
|
||||||
|
|
||||||
delay(1); // wait 1ms fot the MCU to come online
|
delay(1); // wait 1ms fot the MCU to come online
|
||||||
|
|
||||||
@ -461,37 +496,23 @@ void ExsSerialInput(void)
|
|||||||
#ifdef EXS_MCU_CMNDS
|
#ifdef EXS_MCU_CMNDS
|
||||||
|
|
||||||
#define D_PRFX_EXS "Exs"
|
#define D_PRFX_EXS "Exs"
|
||||||
#define D_CMND_EXS_GATE "Gate"
|
|
||||||
#define D_CMND_EXS_DIMM "Dimm"
|
#define D_CMND_EXS_DIMM "Dimm"
|
||||||
#define D_CMND_EXS_DIMM_TBL "DimmTbl"
|
#define D_CMND_EXS_DIMM_TBL "DimmTbl"
|
||||||
#define D_CMND_EXS_DIMM_VAL "DimmVal"
|
#define D_CMND_EXS_DIMM_VAL "DimmVal"
|
||||||
#define D_CMND_EXS_GATES "Gates"
|
|
||||||
#define D_CMND_EXS_DIMMS "Dimms"
|
#define D_CMND_EXS_DIMMS "Dimms"
|
||||||
#define D_CMND_EXS_CH_LOCK "ChLock"
|
#define D_CMND_EXS_CH_LOCK "ChLock"
|
||||||
#define D_CMND_EXS_STATE "State"
|
#define D_CMND_EXS_STATE "State"
|
||||||
|
|
||||||
const char kExsCommands[] PROGMEM = D_PRFX_EXS "|"
|
const char kExsCommands[] PROGMEM = D_PRFX_EXS "|"
|
||||||
D_CMND_EXS_GATE "|"
|
|
||||||
D_CMND_EXS_DIMM "|" D_CMND_EXS_DIMM_TBL "|" D_CMND_EXS_DIMM_VAL "|"
|
D_CMND_EXS_DIMM "|" D_CMND_EXS_DIMM_TBL "|" D_CMND_EXS_DIMM_VAL "|"
|
||||||
D_CMND_EXS_GATES "|" D_CMND_EXS_DIMMS "|" D_CMND_EXS_CH_LOCK "|"
|
D_CMND_EXS_DIMMS "|" D_CMND_EXS_CH_LOCK "|"
|
||||||
D_CMND_EXS_STATE;
|
D_CMND_EXS_STATE;
|
||||||
|
|
||||||
void (* const ExsCommand[])(void) PROGMEM =
|
void (* const ExsCommand[])(void) PROGMEM =
|
||||||
{ &CmndExsGate,
|
{ &CmndExsDimm, &CmndExsDimmTbl, &CmndExsDimmVal,
|
||||||
&CmndExsDimm, &CmndExsDimmTbl, &CmndExsDimmVal,
|
&CmndExsDimms, &CmndExsChLock,
|
||||||
&CmndExsGates, &CmndExsDimms, &CmndExsChLock,
|
|
||||||
&CmndExsState };
|
&CmndExsState };
|
||||||
|
|
||||||
void CmndExsGate(void)
|
|
||||||
{
|
|
||||||
if ((XdrvMailbox.index == 1 || XdrvMailbox.index == 2) &&
|
|
||||||
(XdrvMailbox.payload == 0 || XdrvMailbox.payload == 1)) {
|
|
||||||
ExsSendCmd(EXS_GATE_1_ON + 0x10 * (XdrvMailbox.index - 1) +
|
|
||||||
XdrvMailbox.payload ^ 1, 0);
|
|
||||||
}
|
|
||||||
CmndExsState();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CmndExsDimm(void)
|
void CmndExsDimm(void)
|
||||||
{
|
{
|
||||||
if ((XdrvMailbox.index == 1 || XdrvMailbox.index == 2) &&
|
if ((XdrvMailbox.index == 1 || XdrvMailbox.index == 2) &&
|
||||||
@ -522,14 +543,6 @@ void CmndExsDimmVal(void)
|
|||||||
CmndExsState();
|
CmndExsState();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CmndExsGates(void)
|
|
||||||
{
|
|
||||||
if (XdrvMailbox.payload == 0 || XdrvMailbox.payload == 1) {
|
|
||||||
ExsSendCmd(EXS_GATES_ON + XdrvMailbox.payload ^ 1, 0);
|
|
||||||
}
|
|
||||||
CmndExsState();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CmndExsDimms(void)
|
void CmndExsDimms(void)
|
||||||
{
|
{
|
||||||
if (XdrvMailbox.payload == 0 || XdrvMailbox.payload == 1) {
|
if (XdrvMailbox.payload == 0 || XdrvMailbox.payload == 1) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user