Message: "Ignoring task mode change while jogging"

More
18 Jan 2024 08:52 #291006 by tpa58
I runing base example sim.gscreen or sim.gscreen.silverdragon. After ON, homing, select axis and jogging mode I try JOG + or -. Axis moving, but every click i get message "Ignoring task mode change while jogging"... LinuxCNC 2.9.2 on VirtualBox.
I would be grateful for any advice.
Attachments:

Please Log in or Create an account to join the conversation.

More
20 Jan 2024 11:42 #291196 by andypugh
This is jogging by mouse-click?

If it is reproducible in the supplied sim configs (and it sounds like that is what you are using) then you should probably raise an error report here:

github.com/LinuxCNC/linuxcnc/issues
The following user(s) said Thank You: tpa58

Please Log in or Create an account to join the conversation.

More
21 Aug 2024 08:30 #308267 by avive
I confirm, the same problem. It happens exactly when the key is released and gscreen calls
self.gscreen.do_key_jog(_X, direction, False)

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:
int emcTaskSetMode(EMC_TASK_MODE mode)
{
    int retval = 0;

    if (jogging_is_active()) {
        emcOperatorError("Ignoring task mode change while jogging");
        return 0;
    }
...

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?

Please Log in or Create an account to join the conversation.

More
21 Aug 2024 09:15 #308273 by avive
It's all about this line:
self.emc.jogging(1)

I commented it out and the errors stopped appearing
    def do_key_jog(self,axis,direction,action):
        if self.data._JOG in self.check_mode(): # jog mode active:
                    if not action: cmd = 0
                    elif direction: cmd = 1
                    else: cmd = -1


                    self.emc.jogging(1) <-- HERE


                    #print(self.data.jog_increments[self.data.current_jogincr_index])
                    if self.data.jog_increments[self.data.current_jogincr_index] == ("continuous"): # continuous jog
                        #print("active axis jog:",axis)
                        self.emc.continuous_jog(axis,cmd)
                    else:
                        #print("jog incremental")
                        if cmd == 0: return # don't want release of button to stop jog
                        self.mdi_control.mdi.emcstat.poll()
                        if self.mdi_control.mdi.emcstat.state != 1: return
                        jogincr = self.data.jog_increments[self.data.current_jogincr_index]
                        distance = self.parse_increment(jogincr)
                        self.emc.incremental_jog(axis,cmd,distance)

Is it necessary if we are already in JOG mode?

Please Log in or Create an account to join the conversation.

Moderators: HansU
Time to create page: 0.152 seconds
Powered by Kunena Forum