mavlink udp: avoid spamming the console when disconnecting the Network or bcast addr not found (#4611)

This commit is contained in:
Beat Küng
2016-05-30 21:53:37 +02:00
committed by Lorenz Meier
parent 95a7057768
commit 8c9b272545
4 changed files with 14 additions and 5 deletions
+1 -1
View File
@@ -3613,7 +3613,7 @@ void *commander_low_prio_loop(void *arg)
if (ret != OK) {
mavlink_and_console_log_critical(&mavlink_log_pub, "settings auto save error");
} else {
warnx("settings saved.");
PX4_INFO("commander: settings saved.");
}
need_param_autosave = false;
+10 -3
View File
@@ -223,6 +223,8 @@ Mavlink::Mavlink() :
_bcast_addr{},
_src_addr_initialized(false),
_broadcast_address_found(false),
_broadcast_address_not_found_warned(false),
_sendto_result(1),
_network_buf{},
_network_buf_len(0),
#endif
@@ -899,9 +901,10 @@ Mavlink::send_packet()
int bret = sendto(_socket_fd, _network_buf, _network_buf_len, 0, (struct sockaddr *)&_bcast_addr, sizeof(_bcast_addr));
if (bret <= 0) {
PX4_WARN("sending broadcast failed, errno: %d: %s", errno, strerror(errno));
if (bret <= 0 && _sendto_result > 0) {
PX4_ERR("sending broadcast failed, errno: %d: %s", errno, strerror(errno));
}
_sendto_result = bret;
}
}
@@ -1150,9 +1153,13 @@ Mavlink::find_broadcast_address()
if (setsockopt(_socket_fd, SOL_SOCKET, SO_BROADCAST, &broadcast_opt, sizeof(broadcast_opt)) < 0) {
PX4_WARN("setting broadcast permission failed");
}
_broadcast_address_not_found_warned = false;
} else {
PX4_WARN("no broadcasting address found");
if (!_broadcast_address_not_found_warned) {
PX4_WARN("no broadcasting address found");
_broadcast_address_not_found_warned = true;
}
}
delete[] ifconf.ifc_req;
+2
View File
@@ -478,6 +478,8 @@ private:
struct sockaddr_in _bcast_addr;
bool _src_addr_initialized;
bool _broadcast_address_found;
bool _broadcast_address_not_found_warned;
int _sendto_result;
uint8_t _network_buf[MAVLINK_MAX_PACKET_LEN];
unsigned _network_buf_len;
#endif
+1 -1
View File
@@ -131,7 +131,7 @@ MavlinkMissionManager::init_offboard_mission()
_dataman_id = 0;
_count = 0;
_current_seq = 0;
warnx("offboard mission init: ERROR");
warnx("offboard mission init failed");
}
}
_my_dataman_id = _dataman_id;