I have found a work-around, but wondering if anyone can point me to a better solution.
I'm building a second CNC machine (another EMCO F1 with steppers), using the same type of Sound Logic breakout board I used for my first machine. However, I didn't use the charge-pump circuit on that first machine, and this time I did. The symptoms are that EMC, using a stepconf-generated configuration, won't bring iocontrol.user-enable-out high if EMC is started when the controller is on and the controller estop is inactive. I finally found this work-around (http://www.linuxcnc.org/irc/irc.freenode.net:6667/emc/2009-04-22.txt at 20:15:13), which is to activate the estop on the controller, then click on estop in EMC, then release the controller estop. This somehow resets EMC's internal state. It works very reliably. One thing I did was to run stepconf with two different configurations--one with an external (that is, controller) estop, and one without. The one without an external estop runs fine--generates the charge pump signal and so on when the EMC estop is toggled, and so on. The only differences are in the <nameOfMill>.hal file (all the other files look the same): With estop: net estop-ext <= parport.0.pin-10-in-not ... net estop-out <= iocontrol.0.user-enable-out net estop-ext => iocontrol.0.emc-enable-in without (external) estop: net estop-out <= iocontrol.0.user-enable-out net estop-out => iocontrol.0.emc-enable-in So this puzzles me--why does the second one work? user-enable-out is acting fine there, but not in the first case. I put up two halmeters, one on user-enable-out and one on emc-enable-in, and could watch the two cases. Using (iocontrol.0.emc-enable-in, iocontrol.0.user-enable-out) as a shorthand, this is what happens for the external estop case: Start up EMC, controller is already on, controller estop is inactive: (1,0) Activate estop on controller: (0, 0) Click on EMC estop: (0, 1) (note--user-enable-out is finally on, the charge pump is now active) Take controller estop inactive: (1, 1) and the machine is usable. I went back and checked--my older EMC (2.2.8) exhibits the same behavior, but it was never a problem because I don't use a charge pump. I tried to find out more about what might be causing EMC to output iocontrol.user-enable-out low, but couldn't find anything in the docs. So, one option is to live with the work-around. Another is to not use the charge-pump. But is there something else I can try? Am I even looking at this the right way? Thanks. --Dale ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users