Files
2026-08-20 06:17:39 +08:00

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()