-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Message: "Ignoring task mode change while jogging" #2951
Comments
I confirm, the same problem. It happens exactly when the key is released and gscreen calls
Thus it calls jog while the other is still in progress. If the movement is incremental and the key is not released until the movement is complete, then there is no error. In the source code it looks like this:
I thought the problem was with my custom panel implementation, but the standard one has the same problem. Any ideas on how to fix this? |
It's all about this line: I commented it out and the errors stopped appearing
Is it necessary if we are already in JOG mode? |
Sorry @c-morley, but I think that you are best placed to decide on this one? |
I guess one question to ask is: |
If the problem is in gscreen and we know what causes the error, then adjusting emc to it by simply suppressing errors would be wrong. I think the best option would be to fix the JOG operation in gscreen so that it more closely matches the logic of emc. |
Well the problem could be both - a useless annoying error message and setting manual when it's already in manual. |
Yes, lowering the status of this message to "debug" sounds reasonable. But so that it can be seen when setting DEBUG = 1 in the ini file, right? As for gscreen, on key release events we can specify the handler and not call |
I would consider removing the message completely. I can't see how it's useful. Key releases for continuous jog need to stop the axis, key release from interval jogging must not stop the axis. While yes we can rearrange the code to only call emc.jogging() on press events, it's probably easier to just have emc.jogging() check for manual mode before changing it. I would bet it's possible to get the error message on press events if the machine is already in manual mode. Or we can do both things. I would prefer to do the least amount of change in released code. |
As a side note: There is discussion about removing the 'sim.gscreen.silverdragon' simulation config in master as it fails on load with Gtk related errors on current debian bookworm installations as well as RIP installation of both 2.9.x and master. |
I settled on this option for myself: Since this check ensures that in addition to JOG mode we are also in MAN mode
The following method I got rid of unnecessary mode settings
But in general, it might be better to immediately pass the direction of movement to the method. -1, 0 or +1. It looks more logical and the code is cleaner.
What do you think? |
I think I agree. Messages to the user are only useful if they relate to something that the user has done. And the user will be unaware that they even caused a task mode change, or even what that is. |
I put this in master and we will see if anyone complains: |
I runing simulate example sim.gscreen or sim.gscreen.silverdragon.
After machine ON, homing axis, select axis and jogging mode, I try press GUI button + or -.
Axis moving, but every click i get error message "Ignoring task mode change while jogging".
LinuxCNC 2.9.2 on VirtualBox and real PC.
The text was updated successfully, but these errors were encountered: