43 lines
650 B
Python
Executable File
43 lines
650 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import linuxcnc
|
|
import sys
|
|
import time
|
|
import hal
|
|
|
|
#
|
|
# connect to LinuxCNC
|
|
#
|
|
|
|
comp = hal.component('hal-watcher')
|
|
|
|
c = linuxcnc.command()
|
|
s = linuxcnc.stat()
|
|
e = linuxcnc.error_channel()
|
|
|
|
|
|
#
|
|
# Immediately abort once linuxcnc is ready! Github Issue #49
|
|
#
|
|
|
|
|
|
# Wait for (any) HAL pin to show up when LinuxCNC is initialized
|
|
waitlimit = 300
|
|
while 0 < waitlimit:
|
|
try:
|
|
waiting = 'TRUE' != hal.get_value('motion.in-position')
|
|
except RuntimeError:
|
|
break
|
|
time.sleep(0.1)
|
|
waitlimit -= 1
|
|
|
|
print("UI abort")
|
|
sys.stdout.flush()
|
|
|
|
c.abort()
|
|
c.wait_complete()
|
|
|
|
print("UI done with abort")
|
|
sys.stdout.flush()
|
|
|