If all you want is the external E-stop switch to enable/disable the charge pump function (and also trigger the software E-stop button in Axis to halt things), you can simplify your 'E-stop Test' HAL config a bit.
Near the top of 'E-stop Test', delete the following two lines:
Code:
net estop-out charge-pump.enable iocontrol.0.user-enable-out
net charge-pump <= charge-pump.out
Change the parallel port pin 17 net definition from:
Code:
net charge-pump => parport.0.pin-17-out
To:
Code:
net charge-pump.out => parport.0.pin-17-out
Near the bottom of the HAL file change the following two lines:
Code:
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in
To:
Code:
net estop-ext => charge-pump.enable
net estop-ext => iocontrol.0.emc-enable-in
Modifying things so that both your physical E-stop and the software E-stop in Axis run in tandem is a bit more messy. I personally don't bother with a software E-stop and prefer the hardware one, as it takes longer for me to find the right key on the keyboard than it does for me to hit a big red button when things start going wrong.