MAVLink app: Fix network code to always prefer localhost, work still with remote targets

This commit is contained in:
Lorenz Meier
2016-01-31 20:16:26 +01:00
parent 5f8ee1ea1a
commit 56cd54ab71
3 changed files with 36 additions and 28 deletions
+4 -5
View File
@@ -942,11 +942,10 @@ Mavlink::send_message(const uint8_t msgid, const void *msg, uint8_t component_ID
struct telemetry_status_s &tstatus = get_rx_status();
/* resend heartbeat via broadcast */
if ((_mode != MAVLINK_MODE_ONBOARD)
&& (_mavlink_start_time > 0 && (hrt_elapsed_time(&_mavlink_start_time) > 4 * 1000 * 1000))
&& (((hrt_elapsed_time(&tstatus.heartbeat_time) > 3 * 1000 * 1000) ||
(tstatus.heartbeat_time == 0)) &&
msgid == MAVLINK_MSG_ID_HEARTBEAT)) {
if ((_mode != MAVLINK_MODE_ONBOARD) &&
(!get_client_source_initialized()
|| (hrt_elapsed_time(&tstatus.heartbeat_time) > 3 * 1000 * 1000))
&& (msgid == MAVLINK_MSG_ID_HEARTBEAT)) {
int bret = sendto(_socket_fd, buf, packet_len, 0, (struct sockaddr *)&_bcast_addr, sizeof(_bcast_addr));