aboutsummaryrefslogtreecommitdiff
path: root/src/modules/navigator/navigator_main.cpp
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-12-31 13:10:35 +0400
committerAnton Babushkin <anton.babushkin@me.com>2013-12-31 13:10:35 +0400
commit2e6cd186155d20f53fc45ab2f014d7ebb339c66c (patch)
treea7ab31801b2b355ed53b38ba99097ef8d1e472cb /src/modules/navigator/navigator_main.cpp
parentd35a1699078b6cb8a41d58bdbbd09164e5c0adf2 (diff)
downloadpx4-firmware-2e6cd186155d20f53fc45ab2f014d7ebb339c66c.tar.gz
px4-firmware-2e6cd186155d20f53fc45ab2f014d7ebb339c66c.tar.bz2
px4-firmware-2e6cd186155d20f53fc45ab2f014d7ebb339c66c.zip
navigator: mavlink reopening fixed
Diffstat (limited to 'src/modules/navigator/navigator_main.cpp')
-rw-r--r--src/modules/navigator/navigator_main.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/modules/navigator/navigator_main.cpp b/src/modules/navigator/navigator_main.cpp
index 428887373..12f761b05 100644
--- a/src/modules/navigator/navigator_main.cpp
+++ b/src/modules/navigator/navigator_main.cpp
@@ -497,11 +497,14 @@ Navigator::task_main_trampoline(int argc, char *argv[])
void
Navigator::task_main()
{
-
/* inform about start */
warnx("Initializing..");
fflush(stdout);
+ _mavlink_fd = open(MAVLINK_LOG_DEVICE, 0);
+
+ mavlink_log_info(_mavlink_fd, "[navigator] started");
+
_fence_valid = load_fence(GEOFENCE_MAX_VERTICES);
/*
@@ -530,7 +533,7 @@ Navigator::task_main()
unsigned prevState = NAV_STATE_NONE;
bool pub_control_mode = true;
hrt_abstime mavlink_open_time = 0;
- const hrt_abstime mavlink_open_period = 500000000;
+ const hrt_abstime mavlink_open_interval = 500000;
/* wakeup source(s) */
struct pollfd fds[7];
@@ -569,9 +572,9 @@ Navigator::task_main()
perf_begin(_loop_perf);
- if (_mavlink_fd < 0 && hrt_absolute_time() > mavlink_open_time + mavlink_open_period) {
- /* try to open the mavlink log device every once in a while */
- mavlink_open_time = hrt_abstime();
+ if (_mavlink_fd < 0 && hrt_absolute_time() > mavlink_open_time) {
+ /* try to reopen the mavlink log device with specified interval */
+ mavlink_open_time = hrt_abstime() + mavlink_open_interval;
_mavlink_fd = open(MAVLINK_LOG_DEVICE, 0);
}