mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-27 04:36:31 +00:00
Update switch comments
This commit is contained in:
parent
b8804cf2a8
commit
2eaa0fcb67
@ -349,27 +349,27 @@ void SwitchHandler(void) {
|
|||||||
|
|
||||||
if (button != Switch.last_state[i]) { // This implies if ((PRESSED == button) then (NOT_PRESSED == Switch.last_state[i]))
|
if (button != Switch.last_state[i]) { // This implies if ((PRESSED == button) then (NOT_PRESSED == Switch.last_state[i]))
|
||||||
switch (switchmode) {
|
switch (switchmode) {
|
||||||
case TOGGLE:
|
case TOGGLE: // SwitchMode 0
|
||||||
case PUSHBUTTON_TOGGLE:
|
case PUSHBUTTON_TOGGLE: // SwitchMode 7
|
||||||
switchflag = POWER_TOGGLE; // Toggle
|
switchflag = POWER_TOGGLE; // Toggle
|
||||||
break;
|
break;
|
||||||
case FOLLOW:
|
case FOLLOW: // SwitchMode 1
|
||||||
switchflag = button &1; // Follow wall switch state
|
switchflag = button &1; // Follow wall switch state
|
||||||
break;
|
break;
|
||||||
case FOLLOW_INV:
|
case FOLLOW_INV: // SwitchMode 2
|
||||||
switchflag = ~button &1; // Follow inverted wall switch state
|
switchflag = ~button &1; // Follow inverted wall switch state
|
||||||
break;
|
break;
|
||||||
case PUSHBUTTON:
|
case PUSHBUTTON: // SwitchMode 3
|
||||||
if (PRESSED == button) {
|
if (PRESSED == button) {
|
||||||
switchflag = POWER_TOGGLE; // Toggle with pushbutton to Gnd
|
switchflag = POWER_TOGGLE; // Toggle with pushbutton to Gnd
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSHBUTTON_INV:
|
case PUSHBUTTON_INV: // SwitchMode 4
|
||||||
if (NOT_PRESSED == button) {
|
if (NOT_PRESSED == button) {
|
||||||
switchflag = POWER_TOGGLE; // Toggle with releasing pushbutton from Gnd
|
switchflag = POWER_TOGGLE; // Toggle with releasing pushbutton from Gnd
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSHBUTTONHOLD:
|
case PUSHBUTTONHOLD: // SwitchMode 5
|
||||||
if (PRESSED == button) {
|
if (PRESSED == button) {
|
||||||
Switch.hold_timer[i] = loops_per_second * Settings->param[P_HOLD_TIME] / 10; // Start timer on button press
|
Switch.hold_timer[i] = loops_per_second * Settings->param[P_HOLD_TIME] / 10; // Start timer on button press
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ void SwitchHandler(void) {
|
|||||||
switchflag = POWER_TOGGLE; // ...and Toggle
|
switchflag = POWER_TOGGLE; // ...and Toggle
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSHBUTTONHOLD_INV:
|
case PUSHBUTTONHOLD_INV: // SwitchMode 6
|
||||||
if (NOT_PRESSED == button) {
|
if (NOT_PRESSED == button) {
|
||||||
Switch.hold_timer[i] = loops_per_second * Settings->param[P_HOLD_TIME] / 10; // Start timer on button press...
|
Switch.hold_timer[i] = loops_per_second * Settings->param[P_HOLD_TIME] / 10; // Start timer on button press...
|
||||||
}
|
}
|
||||||
@ -387,9 +387,9 @@ void SwitchHandler(void) {
|
|||||||
switchflag = POWER_TOGGLE; // ...and Toggle
|
switchflag = POWER_TOGGLE; // ...and Toggle
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TOGGLEMULTI:
|
case TOGGLEMULTI: // SwitchMode 8
|
||||||
case FOLLOWMULTI:
|
case FOLLOWMULTI: // SwitchMode 9
|
||||||
case FOLLOWMULTI_INV:
|
case FOLLOWMULTI_INV: // SwitchMode 10
|
||||||
if (Switch.hold_timer[i]) {
|
if (Switch.hold_timer[i]) {
|
||||||
Switch.hold_timer[i] = 0;
|
Switch.hold_timer[i] = 0;
|
||||||
SendKey(KEY_SWITCH, i +1, POWER_HOLD); // Execute command via MQTT
|
SendKey(KEY_SWITCH, i +1, POWER_HOLD); // Execute command via MQTT
|
||||||
@ -398,7 +398,7 @@ void SwitchHandler(void) {
|
|||||||
Switch.hold_timer[i] = loops_per_second / 2; // 0.5 second multi press window
|
Switch.hold_timer[i] = loops_per_second / 2; // 0.5 second multi press window
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSHHOLDMULTI:
|
case PUSHHOLDMULTI: // SwitchMode 11
|
||||||
if (NOT_PRESSED == button) {
|
if (NOT_PRESSED == button) {
|
||||||
if ((Switch.hold_timer[i] & SM_TIMER_MASK) != 0) {
|
if ((Switch.hold_timer[i] & SM_TIMER_MASK) != 0) {
|
||||||
Switch.hold_timer[i] = ((Switch.hold_timer[i] & ~SM_TIMER_MASK) == SM_FIRST_PRESS) ? SM_SECOND_PRESS : 0;
|
Switch.hold_timer[i] = ((Switch.hold_timer[i] & ~SM_TIMER_MASK) == SM_FIRST_PRESS) ? SM_SECOND_PRESS : 0;
|
||||||
@ -424,7 +424,7 @@ void SwitchHandler(void) {
|
|||||||
}
|
}
|
||||||
Switch.hold_timer[i] = (Switch.hold_timer[i] & ~SM_TIMER_MASK) | loops_per_second * Settings->param[P_HOLD_TIME] / 10;
|
Switch.hold_timer[i] = (Switch.hold_timer[i] & ~SM_TIMER_MASK) | loops_per_second * Settings->param[P_HOLD_TIME] / 10;
|
||||||
break;
|
break;
|
||||||
case PUSHHOLDMULTI_INV:
|
case PUSHHOLDMULTI_INV: // SwitchMode 12
|
||||||
if (PRESSED == button) {
|
if (PRESSED == button) {
|
||||||
if ((Switch.hold_timer[i] & SM_TIMER_MASK) != 0) {
|
if ((Switch.hold_timer[i] & SM_TIMER_MASK) != 0) {
|
||||||
Switch.hold_timer[i] = ((Switch.hold_timer[i] & ~SM_TIMER_MASK) == SM_FIRST_PRESS) ? SM_SECOND_PRESS : 0;
|
Switch.hold_timer[i] = ((Switch.hold_timer[i] & ~SM_TIMER_MASK) == SM_FIRST_PRESS) ? SM_SECOND_PRESS : 0;
|
||||||
@ -450,18 +450,18 @@ void SwitchHandler(void) {
|
|||||||
}
|
}
|
||||||
Switch.hold_timer[i] = (Switch.hold_timer[i] & ~SM_TIMER_MASK) | loops_per_second * Settings->param[P_HOLD_TIME] / 10;
|
Switch.hold_timer[i] = (Switch.hold_timer[i] & ~SM_TIMER_MASK) | loops_per_second * Settings->param[P_HOLD_TIME] / 10;
|
||||||
break;
|
break;
|
||||||
case PUSHON:
|
case PUSHON: // SwitchMode 13
|
||||||
if (PRESSED == button) {
|
if (PRESSED == button) {
|
||||||
switchflag = POWER_ON; // Power ON with pushbutton to Gnd
|
switchflag = POWER_ON; // Power ON with pushbutton to Gnd
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSHON_INV:
|
case PUSHON_INV: // SwitchMode 14
|
||||||
if (NOT_PRESSED == button) {
|
if (NOT_PRESSED == button) {
|
||||||
switchflag = POWER_ON; // Power ON with releasing pushbutton from Gnd
|
switchflag = POWER_ON; // Power ON with releasing pushbutton from Gnd
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PUSH_IGNORE:
|
case PUSH_IGNORE: // SwitchMode 15
|
||||||
case PUSH_IGNORE_INV:
|
case PUSH_IGNORE_INV: // SwitchMode 16
|
||||||
Switch.last_state[i] = button; // Update switch state before publishing
|
Switch.last_state[i] = button; // Update switch state before publishing
|
||||||
MqttPublishSensor();
|
MqttPublishSensor();
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user