Browse Source

land_detector: get rid of one dot at a time

sbg
Ban Siesta 10 years ago committed by Lorenz Meier
parent
commit
11f80ceb64
  1. 28
      src/modules/land_detector/land_detector_main.cpp

28
src/modules/land_detector/land_detector_main.cpp

@ -151,20 +151,26 @@ static int land_detector_start(const char *mode) @@ -151,20 +151,26 @@ static int land_detector_start(const char *mode)
/* avoid memory fragmentation by not exiting start handler until the task has fully started */
const uint32_t timeout = hrt_absolute_time() + 5000000; //5 second timeout
while (!land_detector_task->isRunning()) {
usleep(50000);
printf(".");
fflush(stdout);
if (hrt_absolute_time() > timeout) {
err(1, "start failed - timeout");
land_detector_stop();
exit(1);
/* avoid printing dots just yet and do one sleep before the first check */
usleep(10000);
/* check if the waiting involving dots and a newline are still needed */
if (!land_detector_task->isRunning()) {
while (!land_detector_task->isRunning()) {
printf(".");
fflush(stdout);
usleep(50000);
if (hrt_absolute_time() > timeout) {
err(1, "start failed - timeout");
land_detector_stop();
exit(1);
}
}
printf("\n");
}
printf("\n");
//Remember current active mode
strncpy(_currentMode, mode, 12);

Loading…
Cancel
Save