aboutsummaryrefslogtreecommitdiff
path: root/src/systemcmds/nshterm/nshterm.c
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2015-01-05 10:02:07 +0100
committerThomas Gubler <thomasgubler@gmail.com>2015-01-05 10:02:07 +0100
commit16b9f666e790a2b939f7890b39cc6e4cf2552165 (patch)
treeee936b06d15e75e12b175f6786772781aff32cd8 /src/systemcmds/nshterm/nshterm.c
parente16c4ff76e7eff2da88bcbef5d05dd4ba11e7203 (diff)
parentc3ed35f5cc8e2617e61747e904dbaa652d1cc2c8 (diff)
downloadpx4-firmware-16b9f666e790a2b939f7890b39cc6e4cf2552165.tar.gz
px4-firmware-16b9f666e790a2b939f7890b39cc6e4cf2552165.tar.bz2
px4-firmware-16b9f666e790a2b939f7890b39cc6e4cf2552165.zip
Merge remote-tracking branch 'upstream/master' into dev_ros
Conflicts: src/lib/mathlib/math/Matrix.hpp src/modules/mc_att_control/mc_att_control_main.cpp src/modules/uORB/topics/vehicle_status.h src/platforms/px4_includes.h
Diffstat (limited to 'src/systemcmds/nshterm/nshterm.c')
-rw-r--r--src/systemcmds/nshterm/nshterm.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/systemcmds/nshterm/nshterm.c b/src/systemcmds/nshterm/nshterm.c
index edeb5c624..ceaea35b6 100644
--- a/src/systemcmds/nshterm/nshterm.c
+++ b/src/systemcmds/nshterm/nshterm.c
@@ -66,20 +66,18 @@ nshterm_main(int argc, char *argv[])
int fd = -1;
int armed_fd = orb_subscribe(ORB_ID(actuator_armed));
struct actuator_armed_s armed;
- /* we assume the system does not provide arming status feedback */
- bool armed_updated = false;
- /* try the first 30 seconds or if arming system is ready */
- while ((retries < 300) || armed_updated) {
+ /* try to bring up the console - stop doing so if the system gets armed */
+ while (true) {
/* abort if an arming topic is published and system is armed */
bool updated = false;
- if (orb_check(armed_fd, &updated)) {
+ orb_check(armed_fd, &updated);
+ if (updated) {
/* the system is now providing arming status feedback.
* instead of timing out, we resort to abort bringing
* up the terminal.
*/
- armed_updated = true;
orb_copy(ORB_ID(actuator_armed), armed_fd, &armed);
if (armed.armed) {
@@ -92,6 +90,7 @@ nshterm_main(int argc, char *argv[])
/* which may not be ready immediately. */
fd = open(argv[1], O_RDWR);
if (fd != -1) {
+ close(armed_fd);
break;
}
usleep(100000);
@@ -116,7 +115,7 @@ nshterm_main(int argc, char *argv[])
}
/* Set ONLCR flag (which appends a CR for every LF) */
- uart_config.c_oflag |= (ONLCR | OPOST/* | OCRNL*/);
+ uart_config.c_oflag |= (ONLCR | OPOST);
if ((termios_state = tcsetattr(fd, TCSANOW, &uart_config)) < 0) {
warnx("ERR set config %s\n", argv[1]);