diff --git a/libraries/AP_DroneCAN/AP_Canard_iface.cpp b/libraries/AP_DroneCAN/AP_Canard_iface.cpp index 8be4b0a4c24c6..7382f57033c9d 100644 --- a/libraries/AP_DroneCAN/AP_Canard_iface.cpp +++ b/libraries/AP_DroneCAN/AP_Canard_iface.cpp @@ -458,12 +458,13 @@ bool CanardInterface::add_11bit_driver(CANSensor *sensor) // handler for outgoing frames for auxillary drivers bool CanardInterface::write_aux_frame(AP_HAL::CANFrame &out_frame, const uint64_t timeout_us) { + const uint64_t tx_deadline_us = AP_HAL::micros64() + timeout_us; bool ret = false; for (uint8_t iface = 0; iface < num_ifaces; iface++) { if (ifaces[iface] == NULL) { continue; } - ret |= ifaces[iface]->send(out_frame, timeout_us, 0) > 0; + ret |= ifaces[iface]->send(out_frame, tx_deadline_us, 0) > 0; } return ret; }