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;