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