mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-02 03:49:12 +08:00
Fix reporting on broadcast address
This commit is contained in:
@@ -178,6 +178,8 @@ Mavlink::Mavlink() :
|
|||||||
_myaddr{},
|
_myaddr{},
|
||||||
_src_addr{},
|
_src_addr{},
|
||||||
_bcast_addr{},
|
_bcast_addr{},
|
||||||
|
_src_addr_initialized(false),
|
||||||
|
_broadcast_reported(false),
|
||||||
#endif
|
#endif
|
||||||
_socket_fd(-1),
|
_socket_fd(-1),
|
||||||
_protocol(SERIAL),
|
_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));
|
int bret = sendto(_socket_fd, buf, packet_len, 0, (struct sockaddr *)&_bcast_addr, sizeof(_bcast_addr));
|
||||||
|
|
||||||
if (bret <= 0) {
|
if (bret <= 0) {
|
||||||
|
if (!_broadcast_reported) {
|
||||||
PX4_WARN("sending broadcast failed, errno: %d: %s", errno, strerror(errno));
|
PX4_WARN("sending broadcast failed, errno: %d: %s", errno, strerror(errno));
|
||||||
|
_broadcast_reported = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -435,6 +435,7 @@ private:
|
|||||||
struct sockaddr_in _src_addr;
|
struct sockaddr_in _src_addr;
|
||||||
struct sockaddr_in _bcast_addr;
|
struct sockaddr_in _bcast_addr;
|
||||||
bool _src_addr_initialized;
|
bool _src_addr_initialized;
|
||||||
|
bool _broadcast_reported;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
int _socket_fd;
|
int _socket_fd;
|
||||||
|
|||||||
Reference in New Issue
Block a user