From 9ef9185d1dc0e43ecc9913b79196c2bd6d24d547 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Wed, 26 Aug 2015 16:17:07 +0200 Subject: [PATCH] Commander: Fix commandline handling --- src/modules/commander/commander.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index a3996bf9e2..397083a3b5 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -297,7 +297,7 @@ int commander_main(int argc, char *argv[]) SCHED_PRIORITY_MAX - 40, 3400, commander_thread_main, - (argv) ? (char * const *)&argv[2] : (char * const *)NULL); + (char * const *)&argv[0]); unsigned constexpr max_wait_us = 1000000; unsigned constexpr max_wait_steps = 2000; @@ -362,7 +362,7 @@ int commander_main(int argc, char *argv[]) if (calib_ret) { warnx("calibration failed, exiting."); - return 0; + return 1; } else { return 0; } @@ -391,7 +391,7 @@ int commander_main(int argc, char *argv[]) int mavlink_fd_local = px4_open(MAVLINK_LOG_DEVICE, 0); arm_disarm(false, mavlink_fd_local, "command line"); px4_close(mavlink_fd_local); - return 0; + return 0; } usage("unrecognized command"); @@ -878,11 +878,17 @@ int commander_thread_main(int argc, char *argv[]) bool was_armed = false; bool startup_in_hil = false; - if(argc>0) { - if ( strcmp(argv[0],"-hil")==0) { + +#ifdef __PX4_NUTTX + /* NuttX indicates 3 arguments when only 2 are present */ + argc -= 1; +#endif + + if (argc > 2) { + if (!strcmp(argv[2],"-hil")) { startup_in_hil = true; } else { - PX4_ERR("Argument %s not supported.",argv[0]); + PX4_ERR("Argument %s not supported.", argv[2]); PX4_ERR("COMMANDER NOT STARTED"); thread_should_exit = true; } @@ -2238,7 +2244,6 @@ int commander_thread_main(int argc, char *argv[]) arm_tune_played = false; } - //fflush(stdout); counter++; int blink_state = blink_msg_state();