66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
import sys
|
|
import select
|
|
from config import *
|
|
from motion import Motion_Move
|
|
from TMC2130 import TMC2130_Home
|
|
import machine
|
|
|
|
poll_obj = ''
|
|
|
|
def Comms_Init():
|
|
global poll_obj
|
|
|
|
poll_obj = select.poll()
|
|
poll_obj.register(sys.stdin, select.POLLIN)
|
|
|
|
def Comms_Hello():
|
|
hello_str = 'Stepper motor driver\r\n'
|
|
hello_str += 'Software: v0.3\r\n'
|
|
hello_str += 'Hardware: v1.0\r\n'
|
|
hello_str += 'Author: Angoosh\r\n'
|
|
sys.stdout.write(hello_str)
|
|
|
|
def Comms_Reset():
|
|
machine.reset()
|
|
|
|
def Comms_GetInfo(info):
|
|
if info == 0:
|
|
sys.stdout.write(AXIS_ID+'\r\n')
|
|
|
|
def Comms_Read():
|
|
global poll_obj
|
|
|
|
poll_results = poll_obj.poll(1)
|
|
|
|
if poll_results:
|
|
rw = sys.stdin.readline().strip()
|
|
rw = rw.upper()
|
|
|
|
if 'G0' in rw:
|
|
if AXIS_ID in rw:
|
|
data = rw.split(' ')
|
|
for i in data:
|
|
if AXIS_ID in i:
|
|
motorics = i.split(':')
|
|
Motion_Move(int(motorics[1]), int(motorics[2]))
|
|
sys.stdout.write('OK\r\n')
|
|
elif 'G1' in rw:
|
|
if AXIS_ID in rw:
|
|
data = rw.split(' ')
|
|
for i in data:
|
|
if AXIS_ID in i:
|
|
motorics = i.split(':')
|
|
Motion_Move(int(motorics[1]), int(motorics[2]))
|
|
sys.stdout.write('OK\r\n')
|
|
elif 'G28' in rw:
|
|
TMC2130_Home()
|
|
elif 'RESET' in rw:
|
|
sys.stdout.write('OK\r\n')
|
|
Comms_Reset()
|
|
elif 'INFO' in rw:
|
|
data = rw.split(' ')
|
|
Comms_GetInfo(int(data[1]))
|
|
elif rw == '':
|
|
pass
|
|
else:
|
|
sys.stdout.write('INVALID 1\r\n') |