Browse Source

mavlink: only warn once if broadcast fails

This fixes the issue where the console was spammed if a broadcast failed
after a connection had previously been established.
sbg
Julian Oes 9 years ago committed by Beat Küng
parent
commit
3ed8b735c2
  1. 8
      src/modules/mavlink/mavlink_main.cpp
  2. 1
      src/modules/mavlink/mavlink_main.h

8
src/modules/mavlink/mavlink_main.cpp

@ -224,6 +224,7 @@ Mavlink::Mavlink() : @@ -224,6 +224,7 @@ Mavlink::Mavlink() :
_src_addr_initialized(false),
_broadcast_address_found(false),
_broadcast_address_not_found_warned(false),
_broadcast_failed_warned(false),
_network_buf{},
_network_buf_len(0),
#endif
@ -920,7 +921,12 @@ Mavlink::send_packet() @@ -920,7 +921,12 @@ Mavlink::send_packet()
(struct sockaddr *)&_bcast_addr, sizeof(_bcast_addr));
if (bret <= 0) {
PX4_ERR("sending broadcast failed, errno: %d: %s", errno, strerror(errno));
if (!_broadcast_failed_warned) {
PX4_ERR("sending broadcast failed, errno: %d: %s", errno, strerror(errno));
_broadcast_failed_warned = true;
}
} else {
_broadcast_failed_warned = false;
}
}
}

1
src/modules/mavlink/mavlink_main.h

@ -508,6 +508,7 @@ private: @@ -508,6 +508,7 @@ private:
bool _src_addr_initialized;
bool _broadcast_address_found;
bool _broadcast_address_not_found_warned;
bool _broadcast_failed_warned;
uint8_t _network_buf[MAVLINK_MAX_PACKET_LEN];
unsigned _network_buf_len;
#endif

Loading…
Cancel
Save