mirror of https://github.com/commaai/panda.git
46 lines
1011 B
Python
Executable File
46 lines
1011 B
Python
Executable File
#!/usr/bin/env python3
|
|
import os
|
|
import time
|
|
import sys
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), ".."))
|
|
from panda import Panda, PandaSerial # noqa: 402
|
|
|
|
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 = str.encode(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.decode('ascii', 'ignore'))
|
|
sys.stdout.flush()
|