You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
990 B
48 lines
990 B
7 years ago
|
#!/usr/bin/env python
|
||
|
import os
|
||
|
import time
|
||
|
import sys
|
||
|
|
||
|
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), ".."))
|
||
|
from panda import Panda, PandaSerial
|
||
|
|
||
|
def add_nmea_checksum(msg):
|
||
|
d = msg[1:]
|
||
|
cs = 0
|
||
|
for i in d:
|
||
|
cs ^= ord(i)
|
||
|
return msg + "*%02X" % cs
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
panda = Panda()
|
||
|
ser = PandaSerial(panda, 1, 9600)
|
||
|
|
||
|
# power cycle by toggling reset
|
||
|
print "resetting"
|
||
|
panda.set_esp_power(0)
|
||
|
time.sleep(0.5)
|
||
|
panda.set_esp_power(1)
|
||
|
time.sleep(0.5)
|
||
|
print "done"
|
||
|
print ser.read(1024)
|
||
|
|
||
|
# upping baud rate
|
||
|
baudrate = 460800
|
||
|
|
||
|
print "upping baud rate"
|
||
|
msg = add_nmea_checksum("$PUBX,41,1,0007,0003,%d,0" % baudrate)+"\r\n"
|
||
|
print msg
|
||
|
ser.write(msg)
|
||
|
time.sleep(0.1) # needs a wait for it to actually send
|
||
|
|
||
|
# new panda serial
|
||
|
ser = PandaSerial(panda, 1, baudrate)
|
||
|
|
||
|
while True:
|
||
|
ret = ser.read(1024)
|
||
|
if len(ret) > 0:
|
||
|
sys.stdout.write(ret)
|
||
|
sys.stdout.flush()
|
||
|
#print str(ret).encode("hex")
|
||
|
|