Unable to exit Estop after upgrading to 2.10 (from 2.9)

More
03 Jan 2024 03:16 #289632 by frayja2002
Hi all
Please be advised this is a cross post from a different area.

I was wondering if some could have a look at my Estop setup, that has stopped working.
I am running debian Bookworm & had 2.9 running with no problems.
I have updated to 2.10.0-pre0-2499-g1b0a72c1f2 (using buildbot) & now when I press my hardware Estop button I cannot exit Estop.
I have another machine still running 2.9 & this setup works so I am guessing there is some change in the HAL semantics.

After having now spent some time  messing around with this I can only think this must have something to do with the "Estop Set" button in QTdragon as the and function never becomes enabled again. In fact the Estop button doesn't seem to respond at all.
I couldn't be sure though as the whole Estop system in linuxCNC is frustratingly complicated. (Yes ther has been some creative English)

Thanks
Alex
Attachments:

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

More
03 Jan 2024 03:32 #289633 by tommylight
Double posting is never a good idea, makes a mess.
Bumping the old post/topic would be better.
-
This is the second time i am staring at the same config files and wondering why the .... is there so much stuff about e-stop ???
Does Remora require that mess?
_
I am fully aware i am not helping, but i never ever used anything other than simple built in logic for e-stop, even on several tons heavy machines.
2 pins only ...

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

More
03 Jan 2024 04:06 #289635 by frayja2002
Unfortunately I don't really understand it at all. the remora part is 3 lines (from github)....
    net user-enable-out            <= iocontrol.0.user-enable-out            => remora.enable
    net user-request-enable     <= iocontrol.0.user-request-enable        => remora.reset
    net remora-status             <= remora.status                         => iocontrol.0.emc-enable-in

I used these lines to allow a hardware Estop button....
    net remora-status            <= remora.status                     => and2.0.in0
    net estop-status            <= estop-latch.0.ok-out             => and2.0.in1
    net user-enable-in            <= and2.0.out                         => iocontrol.0.emc-enable-in

And as far as I can see the rest is some sort of glue logic.

Do you have a (simpler) example using a hardware input?

I posted here because this all works in 2.9 but does not work in 2.10. I have tested the exact same code & hardware, the only difference being the version of LinuxCNC.

If you can add anything I would appreciate it as it does all seem very convoluted to me.

Thanks
Alex
 

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

More
03 Jan 2024 07:41 #289639 by cmorley
There is a difference - I haven't found out why yet.

2.9
with iocontrol.0.emc-enable-in false and push 'estop set' button:
     iocontrol.0.user-request-enable goes true momentarily <<<
     iocontrol.0.user-enable-out goes true
You can also ignore the above because:
when iocontrol.0.emc-enable-in goes true, estop loop is fully enabled (button goes green)
It's usual to connect iocontrol.0.user-enable-out to iocontrol.0.emc-enable-in in some way so both need to be true.

2.10:
with iocontrol.0.emc-enable-in false and push 'estop set' button:
     iocontrol.0.user-request-enable goes true <<<
     iocontrol.0.user-enable-out goes true
You can also ignore the above because:
when iocontrol.0.emc-enable-in goes true, estop loop is fully enabled (button goes green)
It's usual to connect iocontrol.0.user-enable-out to iocontrol.0.emc-enable-in in some way so both need to be true.

Chris
The following user(s) said Thank You: tommylight

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

More
03 Jan 2024 17:51 #289680 by frayja2002
Thanks for the reply.

I have re-writen the Estop  code deleting the estop-latch stuff (it seems redundent)
I'm not quite sure why it was needed in the first plase.

Here is the code that is tested & working...
    net remora-status            <= remora.status                     => and2.0.in0
    net estop-status            <= remora.input.00.not                => and2.0.in1
    net user-enable-in            <= and2.0.out                         => iocontrol.0.emc-enable-in
    net user-enable-out            <= iocontrol.0.user-enable-out        => remora.enable
    net user-request-enable     <= iocontrol.0.user

Thanks
Alex
Attachments:
The following user(s) said Thank You: tommylight

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

More
07 Jan 2024 03:15 #290040 by tommieh
Hi,
It seems I have also an ESTOP issue, but I’m not sure what’s going on.

I have a custom qtvcp UI based on qtdragon that is running fine in 2.9.0-pre0.
When I copied the UI to 2.9.2, I cannot get out of ESTOP. I also noticed that it took almost 30 seconds to get the UI coming up on the monitor.

Trying to figure out what’s going on, I went back to basics and made a UI in 2.9.2 as per QTVCP documentation called ‘tester’ with ESTOP action button and Machine On action button. I made the ESTOP and Machine On action button exactly the same as in qtdragon.ui from 2.9.2.

When I run tester UI in 2.9.2, I cannot get out of ESTOP as well.

When I click ESTOP in tester, it seems the UI freezes for a couple of seconds.  Immediately after clicking ESTOP, I tried moving Gcode graphics, and only after 5 seconds or so it starts responding again.

I also tried editing qtdragon.ui by deleting the existing ESTOP action button, saving the file and then creating a new ESTOP action button. That all works ok, qdragon.ui  starts quick, runs and gets out of ESTOP after I made the changes. Now I’m really confused.

I copied the tester.ui I made in 2.9.2 to 2.9.0-pre0.
In 2.9.0-pre0 the ESTOP button resets and I can get out of ESTOP.
Machine On works as well.

The .hal files are the same as well as the .ini files in 2.9.0-pre0 or 2.9.2

What am I missing or doing wrong?

Thanks
 
Attachments:

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

More
07 Jan 2024 04:47 #290044 by cmorley
Do the qtdragon sim work properly?

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

More
07 Jan 2024 05:54 #290051 by tommieh
Yes, qtdragon works properly.

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

More
08 Jan 2024 07:22 #290188 by tommieh
I'm thinking to add some debug information, like some print statements, so I can trace what's going on.

Could you please let me know in what files and where in these files I can add these print statements?
Or is there a better way to trace?

Thanks

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

More
09 Jan 2024 05:34 #290260 by cmorley
Estop is an action button which subclasses indicator buttons:
github.com/LinuxCNC/linuxcnc/blob/master...ets/action_button.py
github.com/LinuxCNC/linuxcnc/blob/master...mple_widgets.py#L319

My guess is a small change in the indicator class did it. I will try to got bisect it by the weekend.

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

Moderators: cmorley
Time to create page: 0.111 seconds
Powered by Kunena Forum