Please sign in to comment.
Add support to the PRU code to check the EStop input before each step
pulse. If it's detected, update the queue status and change the queue header state to STATE_ABORT then abort the step generation for the segment. If there are more segments in the queue they will also get aborted due to the EStop input being active. Modify the PRUMotionQueue::Enqueue() to detect the STATE_ABORT and return false. This indicates that the motion segment could not be added to the queue due to the abort condition caused by the EStop. Modify all the applicable classes so that the Enqueue failure is propogated back to the Planner so that CGodeMachineControl can detect the abort condition and then check_for_estop(). This will then turn all the aux outputs off, disable the motors, and set the homing_state to NEVER_HOMED. Signed-off-by: H Hartley Sweeten <firstname.lastname@example.org>
- Loading branch information...
Showing with 133 additions and 42 deletions.
- +4 −0 hardware/BUMPS/pru-io-routines.hp
- +4 −0 hardware/CRAMPS/pru-io-routines.hp
- +4 −0 hardware/Pockegotion/pru-io-routines.hp
- +27 −0 hardware/VGEN5/pru-io-routines.hp
- +2 −1 src/determine-print-stats.cc
- +6 −2 src/gcode-machine-control.cc
- +3 −2 src/gcode2ps.cc
- +6 −3 src/motion-queue.h
- +1 −0 src/motor-interface-constants.h
- +14 −0 src/motor-interface-pru.p
- +9 −6 src/motor-operations.cc
- +5 −4 src/motor-operations.h
- +28 −19 src/planner.cc
- +2 −1 src/planner.h
- +14 −1 src/pru-motion-queue.cc
- +3 −2 src/sim-firmware.cc
- +1 −1 src/sim-firmware.h
Oops, something went wrong.