commit
						11c7429538
					
				
				 15 changed files with 1130 additions and 1043 deletions
			
			
		@ -1 +1 @@ | 
				
			||||
v1.0.3 | 
				
			||||
v1.0.4 | 
				
			||||
@ -1 +1 @@ | 
				
			||||
from .python import Panda, PandaWifiStreaming, PandaDFU, ESPROM, CesantaFlasher, flash_release, BASEDIR, ensure_st_up_to_date, build_st | 
				
			||||
from .python import Panda, PandaWifiStreaming, PandaDFU, ESPROM, CesantaFlasher, flash_release, BASEDIR, ensure_st_up_to_date, build_st, PandaSerial | 
				
			||||
 | 
				
			||||
@ -0,0 +1,27 @@ | 
				
			||||
# mimic a python serial port | 
				
			||||
class PandaSerial(object): | 
				
			||||
  def __init__(self, panda, port, baud): | 
				
			||||
    self.panda = panda | 
				
			||||
    self.port = port | 
				
			||||
    self.panda.set_uart_parity(self.port, 0) | 
				
			||||
    self.panda.set_uart_baud(self.port, baud) | 
				
			||||
    self.buf = "" | 
				
			||||
 | 
				
			||||
  def read(self, l=1): | 
				
			||||
    tt = self.panda.serial_read(self.port) | 
				
			||||
    if len(tt) > 0: | 
				
			||||
      #print "R: ", tt.encode("hex") | 
				
			||||
      self.buf += tt | 
				
			||||
    ret = self.buf[0:l] | 
				
			||||
    self.buf = self.buf[l:] | 
				
			||||
    return ret | 
				
			||||
 | 
				
			||||
  def write(self, dat): | 
				
			||||
    #print "W: ", dat.encode("hex") | 
				
			||||
    #print '  pigeon_send("' + ''.join(map(lambda x: "\\x%02X" % ord(x), dat)) + '");' | 
				
			||||
    return self.panda.serial_write(self.port, dat) | 
				
			||||
 | 
				
			||||
  def close(self): | 
				
			||||
    pass | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,48 @@ | 
				
			||||
#!/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 | 
				
			||||
  # 460800 has issues | 
				
			||||
  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") | 
				
			||||
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue