diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index a97df50be..b9e290410 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "te laag" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pomptyd oorskry" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_AF_AF_H_ diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 249100589..fac7105f1 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "твърде ниско" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "превишено време за помпане" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_BG_BG_H_ diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 0d193693e..a297d5f0f 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_CS_CZ_H_ diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 9ecbc9a03..e801818df 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Herzschlag" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "zu niedrig" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "Pumpzeit überschritten" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_DE_DE_H_ diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 630f19471..b777c0965 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_EL_GR_H_ diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 9ea7bb50b..128e1c3bf 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_EN_GB_H_ diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 88b371826..f88f62cdb 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "muy bajo" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "tiempo de bomba excedido" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_ES_ES_H_ diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index f0c3031ed..01ae71a67 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1082,10 +1086,4 @@ #define D_NEOPOOL_PH_LOW "Trop bas" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "durée pompage expirée" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_FR_FR_H_ diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index 486a540a1..0adcef573 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_FY_NL_H_ diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 44853211d..d00bac271 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_HE_HE_H_ diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 710d3ba3c..85db8bbce 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_HU_HU_H_ diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 881f735e0..9fcb4b292 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 - TX" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Battito cardiaco" +#define D_GPIO_SHIFT595_SRCLK "74x595 - SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 - RCLK" +#define D_GPIO_SHIFT595_OE "74x595 - OE" +#define D_GPIO_SHIFT595_SER "74x595 - SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "troppo basso" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "tempo pompa superato" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_IT_IT_H_ diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 90c0f5138..365480ef5 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_KO_KO_H_ diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index dcc075d19..991187eb4 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "te laag" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pomptijd bereikt" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_NL_NL_H_ diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index dfd2c155b..770606fd8 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "czas pompowania przekroczony" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_PL_PL_D_H_ diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index bcc837cd0..bb039ff4d 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "Muito baixo" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "tempo da bomba excedido" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_PT_BR_H_ diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 07804c950..89da9f494 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "Muito baixo" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "tempo da bomba excedido" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_PT_PT_H_ diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index a87dda8bc..16e8f042b 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_RO_RO_H_ diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 7808dba8b..56233f278 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "А" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_RU_RU_H_ diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 0afdc669d..b3a1098e5 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_SK_SK_H_ diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index e86ddd99a..aaf32fbde 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_SV_SE_H_ diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 13487d3b3..b9b2b7256 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_TR_TR_H_ diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index da89a72a7..a9b1f98f6 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "А" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_UK_UA_H_ diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index d5e4c5543..3bc724566 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_VI_VN_H_ diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 1ec0c7eac..d2d9f0d97 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "A" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_ZH_CN_H_ diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 5d3c7ced5..39f468e0b 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -843,6 +843,10 @@ #define D_SENSOR_HRG15_TX "HRG15 Tx" #define D_SENSOR_VINDRIKTNING_RX "VINDRIKTNING" #define D_SENSOR_HEARTBEAT "Heartbeat" +#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" +#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" +#define D_GPIO_SHIFT595_OE "74x595 OE" +#define D_GPIO_SHIFT595_SER "74x595 SER" // Units #define D_UNIT_AMPERE "安培" @@ -1083,10 +1087,4 @@ #define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" -// xdrv_60_shift595.ino -#define D_GPIO_SHIFT595_SRCLK "74x595 SRCLK" -#define D_GPIO_SHIFT595_RCLK "74x595 RCLK" -#define D_GPIO_SHIFT595_OE "74x595 OE" -#define D_GPIO_SHIFT595_SER "74x595 SER" - #endif // _LANGUAGE_ZH_TW_H_ diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 9eb87e186..b77efe515 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -893,7 +893,7 @@ // -- Other sensors/drivers ----------------------- -// #define USE_SHIFT595 +//#define USE_SHIFT595 // Add support for 74xx595 8-bit shift registers (+0k7 code) #define SHIFT595_INVERT_OUTPUTS false // [SetOption133] Don't invert outputs of 74x595 shift register #define SHIFT595_DEVICE_COUNT 1 // [Shift595DeviceCount] Set the number of connected 74x595 shift registers diff --git a/tasmota/settings.h b/tasmota/settings.h index d8e8e23a2..8b7d1a956 100644 --- a/tasmota/settings.h +++ b/tasmota/settings.h @@ -161,8 +161,8 @@ typedef union { // Restricted by MISRA-C Rule 18.4 bu uint32_t energy_phase : 1; // bit 15 (v9.5.0.9) - SetOption129 - (Energy) Show phase information uint32_t show_heap_with_timestamp : 1; // bit 16 (v9.5.0.9) - SetOption130 - (Debug) Show heap with logging timestamp uint32_t tuya_allow_dimmer_0 : 1; // bit 17 (v10.0.0.3) - SetOption131 - (Tuya) Allow save dimmer = 0 receved by MCU - uint32_t tls_use_fingerprint : 1; // bit 18 (v10.0.0.4) - SetOption132 - (TLS) use fingerprint validation instead of CA based - uint32_t shift595_invert_outputs : 1; // bit 19 (v10.0.0.4) - SetOption133 - (Shift595) invert outputs of 74x595 shift registers + uint32_t tls_use_fingerprint : 1; // bit 18 (v10.0.0.4) - SetOption132 - (TLS) Use fingerprint validation instead of CA based + uint32_t shift595_invert_outputs : 1; // bit 19 (v10.0.0.4) - SetOption133 - (Shift595) Invert outputs of 74x595 shift registers uint32_t spare20 : 1; // bit 20 uint32_t spare21 : 1; // bit 21 uint32_t spare22 : 1; // bit 22 diff --git a/tasmota/support_features.ino b/tasmota/support_features.ino index 0372c80c8..206735a15 100644 --- a/tasmota/support_features.ino +++ b/tasmota/support_features.ino @@ -784,7 +784,9 @@ void ResponseAppendFeatures(void) #ifdef USE_SONOFF_SPM feature8 |= 0x00040000; #endif -// feature8 |= 0x00080000; +#ifdef USE_SHIFT595 + feature8 |= 0x00080000; // xdrv_60_shift595.ino +#endif // feature8 |= 0x00100000; // feature8 |= 0x00200000; diff --git a/tasmota/xdrv_60_shift595.ino b/tasmota/xdrv_60_shift595.ino index cf9a3868c..4e816fc7e 100644 --- a/tasmota/xdrv_60_shift595.ino +++ b/tasmota/xdrv_60_shift595.ino @@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ + #ifdef USE_SHIFT595 #define XDRV_60 60 @@ -33,34 +34,34 @@ struct Shift595 { bool connected = false; } *Shift595 = nullptr; -void Shift595ConfigurePin(uint8_t pin, uint8_t value = 0){ +void Shift595ConfigurePin(uint8_t pin, uint8_t value = 0) { pinMode(pin, OUTPUT); digitalWrite(pin, value); } -void Shift595Init(void) -{ +void Shift595Init(void) { if (PinUsed(GPIO_SHIFT595_SRCLK) && PinUsed(GPIO_SHIFT595_RCLK) && PinUsed(GPIO_SHIFT595_SER)) { Shift595 = (struct Shift595*)calloc(1, sizeof(struct Shift595)); - - Shift595->pinSRCLK = Pin(GPIO_SHIFT595_SRCLK); - Shift595->pinRCLK = Pin(GPIO_SHIFT595_RCLK); - Shift595->pinSER = Pin(GPIO_SHIFT595_SER); + if (Shift595) { + Shift595->pinSRCLK = Pin(GPIO_SHIFT595_SRCLK); + Shift595->pinRCLK = Pin(GPIO_SHIFT595_RCLK); + Shift595->pinSER = Pin(GPIO_SHIFT595_SER); - Shift595ConfigurePin(Shift595->pinSRCLK); - Shift595ConfigurePin(Shift595->pinRCLK); - Shift595ConfigurePin(Shift595->pinSER); - - if (PinUsed(GPIO_SHIFT595_OE)) { - Shift595->pinOE = Pin(GPIO_SHIFT595_OE); - Shift595ConfigurePin(Shift595->pinOE, 1); + Shift595ConfigurePin(Shift595->pinSRCLK); + Shift595ConfigurePin(Shift595->pinRCLK); + Shift595ConfigurePin(Shift595->pinSER); + + if (PinUsed(GPIO_SHIFT595_OE)) { + Shift595->pinOE = Pin(GPIO_SHIFT595_OE); + Shift595ConfigurePin(Shift595->pinOE, 1); + } + + Shift595->first = TasmotaGlobal.devices_present; + Shift595->outputs = Settings->shift595_device_count * 8; + TasmotaGlobal.devices_present += Shift595->outputs; + Shift595->connected = true; + AddLog(LOG_LEVEL_DEBUG, PSTR("595: Controlling relays POWER%d to POWER%d"), Shift595->first + 1, Shift595->first + Shift595->outputs); } - - Shift595->first = TasmotaGlobal.devices_present; - Shift595->outputs = Settings->shift595_device_count * 8; - TasmotaGlobal.devices_present += Shift595->outputs; - Shift595->connected = true; - AddLog(LOG_LEVEL_DEBUG, PSTR("595: Controlling relays POWER%d to POWER%d"), Shift595->first + 1, Shift595->first + Shift595->outputs); } } @@ -69,8 +70,7 @@ void Shift595LatchPin(uint8_t pin) { digitalWrite(pin, 0); } -void Shift595SwitchRelay(void) -{ +void Shift595SwitchRelay(void) { if (Shift595 && Shift595->connected == true) { for (uint32_t i = 0; i < Shift595->outputs; i++) { uint8_t relay_state = bitRead(XdrvMailbox.index, Shift595->first + Shift595->outputs -1 -i); @@ -81,9 +81,9 @@ void Shift595SwitchRelay(void) Shift595LatchPin(Shift595->pinRCLK); if (PinUsed(GPIO_SHIFT595_OE)) { - digitalWrite(Shift595->pinOE, 0); - } + digitalWrite(Shift595->pinOE, 0); } + } } void CmndShift595Devices(void) { @@ -98,8 +98,7 @@ void CmndShift595Devices(void) { * Interface \*********************************************************************************************/ -bool Xdrv60(uint8_t function) -{ +bool Xdrv60(uint8_t function) { bool result = false; if (FUNC_PRE_INIT == function) { diff --git a/tools/decode-status.py b/tools/decode-status.py index 6e70d8912..c234f8911 100755 --- a/tools/decode-status.py +++ b/tools/decode-status.py @@ -186,7 +186,8 @@ a_setoption = [[ "(Energy) Show phase information", "(Debug) Show heap with logging timestamp", "(Tuya) Allow save dimmer = 0 receved by MCU", - "","", + "(TLS) Use fingerprint validation instead of CA based", + "(Shift595) Invert outputs of 74x595 shift registers", "","","","", "","","","", "","","","" @@ -260,7 +261,7 @@ a_features = [[ "USE_BM8563","USE_ENERGY_DUMMY","USE_AM2320","USE_T67XX", "USE_MCP2515","USE_TASMESH","USE_WIFI_RANGE_EXTENDER","USE_INFLUXDB", "USE_HRG15","USE_VINDRIKTNING","USE_SCD40","USE_HM330X", - "USE_HDC2010","USE_LSC_MCSL","USE_SONOFF_SPM","", + "USE_HDC2010","USE_LSC_MCSL","USE_SONOFF_SPM","USE_SHIFT595", "","","","", "","","","", "","","","" @@ -291,7 +292,7 @@ else: obj = json.load(fp) def StartDecode(): - print ("\n*** decode-status.py v20211201 by Theo Arends and Jacek Ziolkowski ***") + print ("\n*** decode-status.py v20211205 by Theo Arends and Jacek Ziolkowski ***") # print("Decoding\n{}".format(obj))