Repository navigation
task: an E-stop reset leaves a machine that is on alone - #4801
Open
grandixximo wants to merge 1 commit into
Open
grandixximo wants to merge 1 commit into
grandixximo wants to merge 1 commit into
Conversation
Collaborator
|
Does this solve 4778? Norbert |
Contributor
Author
Contributor
|
Do we really need a new test for every single bugfix change? We went from 264 in 2.9 to 360 in master. And most of the new tests in master are recent. |
emcTaskSetState() ran the whole E-stop reset for ESTOP_RESET in any state: it aborted motion and the interpreter, stopped the spindles, turned the flood off and aborted iocontrol. Sent to a machine that is on, the machine stayed on and lost whatever it was doing, a running program or a homing. The docs only describe the reset as leaving E-stop, and halui.abort is the way to abort. gmoccapy sends such a reset: when it shows a state change on its E-stop button, the button's handler sends that state again. With gstat reporting the reset after a reset and machine on that fall between two status polls (LinuxCNC#4778), the reset arrives at a machine that is already on, and aborted a homing the ui-smoke driver had just started. Skip ESTOP_RESET when the machine is on. Every other state runs it as before, including configs that tie iocontrol.0.emc-enable-in high, where task never reports E-stop. No in-tree sender relies on the abort while on: AXIS, gscreen, tklinuxcnc and the qtvcp action button check for E-stop first, and the tests reset only from E-stop or at startup.
grandixximo
force-pushed
the
task-estop-reset-while-on
branch
from
November 9, 2026 08:40
13206a5 to
223002a
Compare
Contributor
Author
|
Fair point. I folded the check into |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

emcTaskSetState()ran the whole E-stop reset for ESTOP_RESET in any state: it aborted motion and the interpreter, stopped the spindles, turned the flood off and aborted iocontrol. Sent to a machine that is on, the machine stayed on and lost whatever it was doing, a running program or a homing. The docs only describe the reset as leaving E-stop, andhalui.abortis the way to abort.gmoccapy sends such a reset: when it shows a state change on its E-stop button, the button's handler sends that state again. With gstat reporting the reset after a reset and machine on that fall between two status polls (#4778), the reset arrives at a machine that is already on, and aborted a homing the ui-smoke driver had just started.
This skips ESTOP_RESET when the machine is on. Every other state runs it as before, including configs that tie
iocontrol.0.emc-enable-inhigh, where task never reports E-stop. No in-tree sender relies on the abort while on: AXIS, gscreen, tklinuxcnc and the qtvcp action button check for E-stop first, and the tests reset only from E-stop or at startup.tests/abort/feed-ratenow also runs a move with the spindle and flood on, sends the reset, and checks that all of it keeps going; it fails without this change. interp, toolchanger, tool-info, motion-logger, abort, halui, linuxcncrsh, classicladder, hard-limits, home and mdi-queue pass (129 tests), and on the gmoccapy lathe sim a homing now completes when an ESTOP_RESET arrives during it.