- implemented firmware update of Hendi-Control
git-svn-id: http://moon:8086/svn/projects/HendiControl@157 fda53097-d464-4ada-af97-ba876c37ca34
This commit is contained in:
@@ -3,28 +3,66 @@
|
||||
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)
|
||||
ser.set_output_flow_control(True)
|
||||
|
||||
|
||||
try:
|
||||
ser.open()
|
||||
except:
|
||||
ser.close()
|
||||
ser.open()
|
||||
|
||||
time.sleep(1.0)
|
||||
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
|
||||
time.sleep(0.5)
|
||||
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.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())
|
||||
|
||||
ser.dtr = False
|
||||
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
|
||||
time.sleep(1.0)
|
||||
ser.flushInput()
|
||||
|
||||
print("Start application")
|
||||
reset()
|
||||
print(ser.readline().decode('utf-8'))
|
||||
print(ser.readline().decode('utf-8'))
|
||||
|
||||
ser.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user