Files
HendiControlFirmware/Control/brewpi/serial_test.py
T
2019-03-30 00:23:19 +00:00

71 lines
1.1 KiB
Python

#!/usr/bin/python3
import time
import serial
def reset():
ser.dtr = True
ser.rts = False
time.sleep(0.05)
ser.dtr = True
ser.rts = True
def enter_bootloader():
ser.dtr = True
ser.rts = False
time.sleep(0.05)
ser.dtr = False
ser.rts = True
if __name__ == '__main__':
ser = serial.Serial ('/dev/ttyUSB0', 9600)
try:
ser.open()
except:
ser.close()
ser.open()
if 0:
time.sleep(1.0)
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
time.sleep(0.5)
ser.rts = False
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
time.sleep(0.5)
ser.dtr = False
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
time.sleep(1.0)
print("Start firmware update")
enter_bootloader()
ser.timeout = 0.100
ser.readline()
ser.flushInput()
with open("hendictrl.srec", 'r') as fp:
while(True):
s = fp.readline()
if s == '':
break
data = s.encode()
# print(data)
ser.write(data)
# print(ser.read())
time.sleep(1.0)
ser.flushInput()
print("Start application")
reset()
print(ser.readline().decode('utf-8'))
print(ser.readline().decode('utf-8'))
ser.close()
print ("End of program.")