created v0.3 functional software prototype
This commit is contained in:
66
Software/comms.py
Normal file
66
Software/comms.py
Normal file
@@ -0,0 +1,66 @@
|
||||
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')
|
||||
Reference in New Issue
Block a user