From e832f7dbf5a180f5ab8d1c2e0a65a39231c45441 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 2 Apr 2016 00:04:26 +0200 Subject: [PATCH] Fix reporting on broadcast address --- src/modules/mavlink/mavlink_main.cpp | 7 ++++++- src/modules/mavlink/mavlink_main.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index 75342f4d9f..76d8b35abb 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -178,6 +178,8 @@ Mavlink::Mavlink() : _myaddr{}, _src_addr{}, _bcast_addr{}, + _src_addr_initialized(false), + _broadcast_reported(false), #endif _socket_fd(-1), _protocol(SERIAL), @@ -888,7 +890,10 @@ Mavlink::send_message(const uint8_t msgid, const void *msg, uint8_t component_ID int bret = sendto(_socket_fd, buf, packet_len, 0, (struct sockaddr *)&_bcast_addr, sizeof(_bcast_addr)); if (bret <= 0) { - PX4_WARN("sending broadcast failed, errno: %d: %s", errno, strerror(errno)); + if (!_broadcast_reported) { + PX4_WARN("sending broadcast failed, errno: %d: %s", errno, strerror(errno)); + _broadcast_reported = true; + } } } diff --git a/src/modules/mavlink/mavlink_main.h b/src/modules/mavlink/mavlink_main.h index bb6f3dc42d..795228e703 100644 --- a/src/modules/mavlink/mavlink_main.h +++ b/src/modules/mavlink/mavlink_main.h @@ -435,6 +435,7 @@ private: struct sockaddr_in _src_addr; struct sockaddr_in _bcast_addr; bool _src_addr_initialized; + bool _broadcast_reported; #endif int _socket_fd;