From c27d449e113f4a2c07d349493132a6c7d66a48c2 Mon Sep 17 00:00:00 2001 From: George Hotz Date: Tue, 25 Apr 2017 18:06:44 -0700 Subject: [PATCH] minor bug fixes to uart --- board/main.c | 2 ++ lib/panda.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/board/main.c b/board/main.c index 34a5297..82b11b8 100644 --- a/board/main.c +++ b/board/main.c @@ -530,10 +530,12 @@ int usb_cb_control_msg(USB_Setup_TypeDef *setup, uint8_t *resp) { break; case 0xe1: // uart set baud rate ur = get_ring_by_number(setup->b.wValue.w); + if (!ur) break; uart_set_baud(ur->uart, setup->b.wIndex.w); break; case 0xe2: // uart set parity ur = get_ring_by_number(setup->b.wValue.w); + if (!ur) break; switch (setup->b.wIndex.w) { case 0: // disable parity diff --git a/lib/panda.py b/lib/panda.py index bc40d50..af37f97 100644 --- a/lib/panda.py +++ b/lib/panda.py @@ -133,7 +133,7 @@ class Panda(object): # ******************* serial ******************* def serial_read(self, port_number): - return self.handle.controlRead(usb1.TYPE_VENDOR | usb1.RECIPIENT_DEVICE, 0xe0, port_number, 0, 0x100) + return self.handle.controlRead(usb1.TYPE_VENDOR | usb1.RECIPIENT_DEVICE, 0xe0, port_number, 0, 0x40) def serial_write(self, port_number, ln): return self.handle.bulkWrite(2, chr(port_number) + ln) @@ -148,7 +148,7 @@ class Panda(object): # drain buffer bret = "" while 1: - ret = self.handle.controlRead(usb1.TYPE_VENDOR | usb1.RECIPIENT_DEVICE, 0xe0, bus, 0, 0x100) + ret = self.handle.controlRead(usb1.TYPE_VENDOR | usb1.RECIPIENT_DEVICE, 0xe0, bus, 0, 0x40) if len(ret) == 0: break bret += str(ret)