Browse Source

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

sbg
Beat Küng 9 years ago committed by Lorenz Meier
parent
commit
8c9b272545
  1. 2
      src/modules/commander/commander.cpp
  2. 13
      src/modules/mavlink/mavlink_main.cpp
  3. 2
      src/modules/mavlink/mavlink_main.h
  4. 2
      src/modules/mavlink/mavlink_mission.cpp

2
src/modules/commander/commander.cpp

@ -3613,7 +3613,7 @@ void *commander_low_prio_loop(void *arg) @@ -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;

13
src/modules/mavlink/mavlink_main.cpp

@ -223,6 +223,8 @@ Mavlink::Mavlink() : @@ -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() @@ -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() @@ -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
src/modules/mavlink/mavlink_main.h

@ -478,6 +478,8 @@ private: @@ -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

2
src/modules/mavlink/mavlink_mission.cpp

@ -131,7 +131,7 @@ MavlinkMissionManager::init_offboard_mission() @@ -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;

Loading…
Cancel
Save