diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 7a1b4416ed5693a22ed0307ed5a74df79f0d6d81..9fe2971609eb3f5cfa85ef7b786d1fe067efa10e 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -263,11 +263,12 @@ void Vehicle::_sendMessage(mavlink_message_t message) // Give the plugin a chance to adjust _firmwarePlugin->adjustMavlinkMessage(&message); + static uint8_t messageKeys[256] = MAVLINK_MESSAGE_CRCS; + mavlink_finalize_message_chan(&message, mavlink->getSystemId(), mavlink->getComponentId(), link->getMavlinkChannel(), message.len, messageKeys[message.msgid]); + // Write message into buffer, prepending start sign uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; int len = mavlink_msg_to_send_buffer(buffer, &message); - static uint8_t messageKeys[256] = MAVLINK_MESSAGE_CRCS; - mavlink_finalize_message_chan(&message, mavlink->getSystemId(), mavlink->getComponentId(), link->getMavlinkChannel(), message.len, messageKeys[message.msgid]); link->writeBytes((const char*)buffer, len); }