I suspect this is related to a problem that was discussed on the
developers' list in July:
https://www.mail-archive.com/search?l=mid&q=20160721150035.GA46232%40unpythonic.net

Basically, we noticed that the charge-pump pin would be incorrectly
activated "for a huge fraction of a second" during startup, when it
should only be activated when the machine is taken out of estop.

The cause turned out to be the way the "net" (and "link") commands can
set a default value for a signal, coupled with the fact that it takes a
long time at startup before pins like iocontrol.0.user-enable-out get
driven with their correct value.

We have implemented a fix in master branch only (so the fix will first
be in version 2.8.0, whenever that is ready), as discussed in that
thread.
https://github.com/LinuxCNC/linuxcnc/commit/106fcd8a02b569b7ee8c017af7905856a704535b

If the initial value (before halcmd 'start') of the *writer* pin on the
signal is correct, then one workaround is to make sure that you net/link
the writer pin *first*.  For example, the original problem can be fixed
by changing
    net estop-out charge-pump.enable iocontrol.0.user-enable-out
to
    net estop-out iocontrol.0.user-enable-out charge-pump.enable
or
    net estop-out iocontrol.0.user-enable-out                                   
                  
    net estop-out charge-pump.enable

Otherwise, the workaround would be to link any reader pin, then
explicitly set a value onto the signal, and then link the rest of the
signals to the pin:
    net estop-out charge-pump.enable
    sets estop-out false
    net estop-out iocontrol.0.user-enable-out

In a future version with the fix, this workaround should be unnecessary
but harmless.

Jeff

------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to