Power requirements for controller

Hey Bob @crz383, hey Bob @Bob_D,

in fact retaining the position where you were in the running g-code program and the positions of the axes after emergency stopping the program due to detected power loss does not work with the stock controller even if it is hooked to a UPS, at least not without using internal controller software functionality directly.

In general, you could wire a safety circuit which is able to tell the controller (assumed to be on a UPS) that something is wrong (e.g. the power to the milling motor is gone), and generally, UPSes have the ability to signal the power loss and to trigger actions then, but the Onefinity controller, which is derived from buildbotics.com controller, only has an input pin for “estop” (pin 23), which sets the controller in “estopped” mode, but this mode lets you loose the point where you were in your program and you also loose the positions of all axes. Unfortunately, a hardware input pin for “pause” is not present on Onefinity or Buildbotics controller, so in case you want to be able to pause the program and to resume and continue program execution later (e.g. when power outage is over), the only way would be to write a webpage-operating program that “presses” pause on the (webbrowser-based) controller interface software (instead of triggering “estop”). This is possible but I would say the effort could be bigger than implementing an additional hardware I/O pin for “pause” in the original controller software.

Also one should be aware that even if you were able to trigger “pause” by an external I/O pin, controller will terminate the gcode line before pausing, so if the milling motor ceased to run because of power outage, the bit will be broken anyway, and also even if paused and resumed, the controller is not able to re-run the last command.

Anyway, a “pause” input pin or hardware button is a yet unfulfilled feature request for Buildbotics Controller and for Onefinity Controller.