mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-02-24 15:23:53 +08:00
openpilot support for panda nak (#1324)
This commit is contained in:
2
panda
2
panda
Submodule panda updated: 51e0a55d6d...5440de0fde
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user