- 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 time
|
||||||
import serial
|
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__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
ser = serial.Serial ('/dev/ttyUSB0', 9600)
|
ser = serial.Serial ('/dev/ttyUSB0', 9600)
|
||||||
ser.set_output_flow_control(True)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ser.open()
|
ser.open()
|
||||||
except:
|
except:
|
||||||
ser.close()
|
ser.close()
|
||||||
ser.open()
|
ser.open()
|
||||||
|
|
||||||
time.sleep(1.0)
|
if 0:
|
||||||
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
|
time.sleep(1.0)
|
||||||
time.sleep(0.5)
|
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
|
||||||
|
time.sleep(0.5)
|
||||||
|
|
||||||
ser.rts = False
|
ser.rts = False
|
||||||
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
|
print ("RTS = {}, DTR = {}".format(ser.rts, ser.dtr))
|
||||||
time.sleep(0.5)
|
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)
|
time.sleep(1.0)
|
||||||
|
ser.flushInput()
|
||||||
|
|
||||||
|
print("Start application")
|
||||||
|
reset()
|
||||||
|
print(ser.readline().decode('utf-8'))
|
||||||
|
print(ser.readline().decode('utf-8'))
|
||||||
|
|
||||||
ser.close()
|
ser.close()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user