Fix STOP command issuing when idle
Fixed almost unconditional STOP command issuing when the channel is idle. Refs #1104, #1105 and closes #1107.
This commit is contained in:
@@ -216,8 +216,8 @@ void relay_chn_issue_cmd(relay_chn_ctl_t* chn_ctl, relay_chn_cmd_t cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cmd == RELAY_CHN_CMD_STOP) {
|
if (cmd == RELAY_CHN_CMD_STOP) {
|
||||||
if (chn_ctl->state == RELAY_CHN_STATE_STOPPED) {
|
if (chn_ctl->state == RELAY_CHN_STATE_STOPPED || chn_ctl->state == RELAY_CHN_STATE_IDLE) {
|
||||||
return; // Do nothing if already stopped
|
return; // Do nothing if already stopped or idle
|
||||||
}
|
}
|
||||||
// If the command is STOP, issue it immediately
|
// If the command is STOP, issue it immediately
|
||||||
relay_chn_dispatch_cmd(chn_ctl, cmd);
|
relay_chn_dispatch_cmd(chn_ctl, cmd);
|
||||||
|
|||||||
Reference in New Issue
Block a user