openpilot support for panda nak (#1324)

pull/1327/head
Willem Melching 5 years ago committed by GitHub
parent b16e11cde5
commit 7ea2524b6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      panda
  2. 13
      selfdrive/boardd/boardd.cc

@ -1 +1 @@
Subproject commit 51e0a55d6d5fce5a9edf4178baccd4b2a4e23290
Subproject commit 5440de0fdee3f04a1b1a15291854d2a183af5f67

@ -568,10 +568,19 @@ void can_send(SubSocket *subscriber) {
int sent;
pthread_mutex_lock(&usb_lock);
if (!fake_send) {
do {
err = libusb_bulk_transfer(dev_handle, 3, (uint8_t*)send, msg_count*0x10, &sent, TIMEOUT);
if (err != 0 || msg_count*0x10 != sent) { handle_usb_issue(err, __func__); }
// Try sending can messages. If the receive buffer on the panda is full it will NAK
// and libusb will try again. After 5ms, it will time out. We will drop the messages.
err = libusb_bulk_transfer(dev_handle, 3, (uint8_t*)send, msg_count*0x10, &sent, 5);
if (err == LIBUSB_ERROR_TIMEOUT) {
LOGW("Transmit buffer full");
break;
} else if (err != 0 || msg_count*0x10 != sent) {
LOGW("Error");
handle_usb_issue(err, __func__);
}
} while(err != 0);
}

Loading…
Cancel
Save