Refactor serial read
Ease usage of the serialread if statements
This commit is contained in:
@@ -58,20 +58,26 @@ def sendWithAck(gcodeCommand, timeoutCom):
|
|||||||
commandTimeout = 0
|
commandTimeout = 0
|
||||||
|
|
||||||
serial.write(gcodeCommand.encode('UTF-8'))
|
serial.write(gcodeCommand.encode('UTF-8'))
|
||||||
if not serial.readline().decode('UTF-8').startswith('2'):
|
|
||||||
|
received = serial.readline().decode('UTF-8')
|
||||||
|
|
||||||
|
if received.startswith('-2'):
|
||||||
|
raise RuntimeError('Device error, please reset the device')
|
||||||
|
elif not received.startswith('2'):
|
||||||
raise RuntimeError('Communication lost')
|
raise RuntimeError('Communication lost')
|
||||||
while True:
|
while True:
|
||||||
received = serial.readline().decode('UTF-8')
|
received = serial.readline().decode('UTF-8')
|
||||||
if not received.startswith('1') or received.startswith('-1'):
|
|
||||||
|
if received.startswith('1'):
|
||||||
|
break
|
||||||
|
elif received.startswith('-2'):
|
||||||
|
raise RuntimeError('Device error, please reset the device')
|
||||||
|
elif received.startswith('-1'):
|
||||||
|
raise RuntimeError('Command error')
|
||||||
|
else:
|
||||||
commandTimeout += 1
|
commandTimeout += 1
|
||||||
if commandTimeout > timeoutCom * 10:
|
if commandTimeout > timeoutCom * 10:
|
||||||
raise RuntimeError('Command not executed')
|
raise RuntimeError('Command not executed')
|
||||||
if received.startswith('-1'):
|
|
||||||
raise RuntimeError('Command error')
|
|
||||||
if received.startswith('-2'):
|
|
||||||
raise RuntimeError('Device error, please reset the device')
|
|
||||||
else:
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
def sendFileToPort(comPort, baudRate, communicationTimeout, waitTime, gcodePath):
|
def sendFileToPort(comPort, baudRate, communicationTimeout, waitTime, gcodePath):
|
||||||
@@ -141,13 +147,13 @@ if __name__ == "__main__":
|
|||||||
gcodeEntry = LabelWithEntry(autoMainFrame, 'GCode file', padXLeft = (0, padding))
|
gcodeEntry = LabelWithEntry(autoMainFrame, 'GCode file', padXLeft = (0, padding))
|
||||||
comEntry = LabelWithEntry(autoMainFrame, 'COM port', padXLeft = (0, padding))
|
comEntry = LabelWithEntry(autoMainFrame, 'COM port', padXLeft = (0, padding))
|
||||||
baudrateEntry = LabelWithEntry(autoMainFrame, 'Baudrate', padXLeft = (0, padding))
|
baudrateEntry = LabelWithEntry(autoMainFrame, 'Baudrate', padXLeft = (0, padding))
|
||||||
baudrateEntry.setText('9600')
|
baudrateEntry.setText('57600')
|
||||||
|
|
||||||
comTimoutEntry = LabelWithEntry(autoMainFrame, 'Com timout (s)', padXLeft = (0, padding))
|
comTimoutEntry = LabelWithEntry(autoMainFrame, 'Com timout (s)', padXLeft = (0, padding))
|
||||||
comTimoutEntry.setText('1')
|
comTimoutEntry.setText('2')
|
||||||
|
|
||||||
sleepEntry = LabelWithEntry(autoMainFrame, 'Sleep init (s)', padXLeft = (0, padding))
|
sleepEntry = LabelWithEntry(autoMainFrame, 'Sleep init (s)', padXLeft = (0, padding))
|
||||||
sleepEntry.setText('1')
|
sleepEntry.setText('2')
|
||||||
|
|
||||||
Button(autoMainFrame, text = 'Start',
|
Button(autoMainFrame, text = 'Start',
|
||||||
command = lambda: callWithParameters(comEntry, baudrateEntry, comTimoutEntry, sleepEntry, gcodeEntry)) \
|
command = lambda: callWithParameters(comEntry, baudrateEntry, comTimoutEntry, sleepEntry, gcodeEntry)) \
|
||||||
|
|||||||
Reference in New Issue
Block a user