mirror of https://github.com/arendst/Tasmota.git
Prep for user config
Prep CSE7766 (S31 and PowR2) and MCP39F501 (Shelly2) for user configuration
This commit is contained in:
parent
d061d5abb8
commit
16ec25bdff
|
@ -173,6 +173,11 @@ enum ProgramSelectablePins {
|
|||
GPIO_ARIRFRCV, // AliLux RF Receive input
|
||||
GPIO_ROT_A, // Rotary switch A Pin
|
||||
GPIO_ROT_B, // Rotary switch B Pin
|
||||
GPIO_CSE7766_TX, // CSE7766 Serial interface (S31 and Pow R2)
|
||||
GPIO_CSE7766_RX, // CSE7766 Serial interface (S31 and Pow R2)
|
||||
GPIO_MCP39_TX, // MCP39F501 Serial interface (Shelly2)
|
||||
GPIO_MCP39_RX, // MCP39F501 Serial interface (Shelly2)
|
||||
GPIO_MCP39_RST, // MCP39F501 Reset (Shelly2)
|
||||
GPIO_USER, // User configurable
|
||||
GPIO_MAX };
|
||||
|
||||
|
@ -1329,9 +1334,9 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
},
|
||||
{ "Sonoff S31", // Sonoff S31 (ESP8266 - CSE7766)
|
||||
GPIO_KEY1, // GPIO00 Button
|
||||
0, // GPIO01 Serial RXD 4800 baud 8E1 CSE7766 energy sensor
|
||||
GPIO_CSE7766_TX, // GPIO01 Serial RXD 4800 baud 8E1 CSE7766 energy sensor
|
||||
0,
|
||||
0, // GPIO03 Serial TXD
|
||||
GPIO_CSE7766_RX, // GPIO03 Serial TXD
|
||||
0, 0,
|
||||
// GPIO06 (SD_CLK Flash)
|
||||
// GPIO07 (SD_DATA0 Flash QIO/DIO/DOUT)
|
||||
|
@ -1364,9 +1369,9 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
},
|
||||
{ "Sonoff Pow R2", // Sonoff Pow R2 (ESP8285 - CSE7766)
|
||||
GPIO_KEY1, // GPIO00 Button
|
||||
0, // GPIO01 Serial RXD 4800 baud 8E1 CSE7766 energy sensor
|
||||
GPIO_CSE7766_TX, // GPIO01 Serial RXD 4800 baud 8E1 CSE7766 energy sensor
|
||||
0,
|
||||
0, // GPIO03 Serial TXD
|
||||
GPIO_CSE7766_RX, // GPIO03 Serial TXD
|
||||
0, 0,
|
||||
// GPIO06 (SD_CLK Flash)
|
||||
// GPIO07 (SD_DATA0 Flash QIO/DIO/DOUT)
|
||||
|
@ -1437,9 +1442,9 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
},
|
||||
{ "Shelly 2", // Shelly2 (ESP8266 - 2MB) - https://shelly.cloud/shelly2/
|
||||
0,
|
||||
GPIO_TXD, // GPIO01 MCP39F501 Serial input
|
||||
GPIO_MCP39_TX, // GPIO01 MCP39F501 Serial input
|
||||
0,
|
||||
GPIO_RXD, // GPIO03 MCP39F501 Serial output
|
||||
GPIO_MCP39_RX, // GPIO03 MCP39F501 Serial output
|
||||
GPIO_REL1, // GPIO04
|
||||
GPIO_REL2, // GPIO05
|
||||
// GPIO06 (SD_CLK Flash)
|
||||
|
@ -1451,7 +1456,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = {
|
|||
GPIO_SWT1, // GPIO12
|
||||
0,
|
||||
GPIO_SWT2, // GPIO14
|
||||
0, // GPIO15 MCP39F501 Reset
|
||||
GPIO_MCP39_RST, // GPIO15 MCP39F501 Reset
|
||||
0,
|
||||
GPIO_FLAG_PULLUP // Allow input pull-up control
|
||||
},
|
||||
|
|
|
@ -499,8 +499,8 @@ void KNX_INIT(void)
|
|||
if (GetUsedInModule(GPIO_DHT22, my_module.io)) { device_param[KNX_HUMIDITY-1].show = true; }
|
||||
if (GetUsedInModule(GPIO_SI7021, my_module.io)) { device_param[KNX_HUMIDITY-1].show = true; }
|
||||
|
||||
// Sonoff 31 or Sonoff Pow or any HLW8012 based device or Sonoff POW R2 or Any device with a Pzem004T
|
||||
if ( ( SONOFF_S31 == Settings.module ) || ( SONOFF_POW_R2 == Settings.module ) || ( energy_flg != ENERGY_NONE ) ) {
|
||||
// Any device with a Power Monitoring
|
||||
if ( energy_flg != ENERGY_NONE ) {
|
||||
device_param[KNX_ENERGY_POWER-1].show = true;
|
||||
device_param[KNX_ENERGY_DAILY-1].show = true;
|
||||
device_param[KNX_ENERGY_START-1].show = true;
|
||||
|
|
|
@ -191,7 +191,7 @@ void CseEverySecond(void)
|
|||
void CseDrvInit(void)
|
||||
{
|
||||
if (!energy_flg) {
|
||||
if ((SONOFF_S31 == Settings.module) || (SONOFF_POW_R2 == Settings.module)) { // Sonoff S31 or Sonoff Pow R2
|
||||
if ((3 == pin[GPIO_CSE7766_RX]) && (1 == pin[GPIO_CSE7766_TX])) { // As it uses 8E1 currently only hardware serial is supported
|
||||
baudrate = 4800;
|
||||
serial_config = SERIAL_8E1;
|
||||
energy_flg = XNRG_02;
|
||||
|
|
|
@ -544,15 +544,19 @@ void McpEverySecond(void)
|
|||
void McpSnsInit(void)
|
||||
{
|
||||
SetSeriallog(LOG_LEVEL_NONE); // Free serial interface from logging interference
|
||||
digitalWrite(15, 1); // GPIO15 - MCP enable
|
||||
if (pin[GPIO_MCP39_RST] < 99) {
|
||||
digitalWrite(pin[GPIO_MCP39_RST], 1); // MCP enable
|
||||
}
|
||||
}
|
||||
|
||||
void McpDrvInit(void)
|
||||
{
|
||||
if (!energy_flg) {
|
||||
if (SHELLY2 == Settings.module) {
|
||||
pinMode(15, OUTPUT);
|
||||
digitalWrite(15, 0); // GPIO15 - MCP disable - Reset Delta Sigma ADC's
|
||||
if ((pin[GPIO_MCP39_RX] < 99) && (pin[GPIO_MCP39_TX] < 99)) {
|
||||
if (pin[GPIO_MCP39_RST] < 99) {
|
||||
pinMode(pin[GPIO_MCP39_RST], OUTPUT);
|
||||
digitalWrite(pin[GPIO_MCP39_RST], 0); // MCP disable - Reset Delta Sigma ADC's
|
||||
}
|
||||
baudrate = 4800;
|
||||
mcp_calibrate = 0;
|
||||
mcp_timeout = 2; // Initial wait
|
||||
|
|
Loading…
Reference in New Issue