aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/px4fmu
diff options
context:
space:
mode:
authorJulian Oes <julian@oes.ch>2013-09-22 17:23:43 +0200
committerJulian Oes <julian@oes.ch>2013-09-22 17:23:43 +0200
commit166dba09de38642ec656d857e225c08d9a36fc72 (patch)
tree109065accfe63a5e788a30fa08852532d528b2f6 /src/drivers/px4fmu
parent07f82efe9b33d27fafa08d712243ce02c360e8fa (diff)
downloadpx4-firmware-166dba09de38642ec656d857e225c08d9a36fc72.tar.gz
px4-firmware-166dba09de38642ec656d857e225c08d9a36fc72.tar.bz2
px4-firmware-166dba09de38642ec656d857e225c08d9a36fc72.zip
px4io test and fmu test now work over USB as well
Diffstat (limited to 'src/drivers/px4fmu')
-rw-r--r--src/drivers/px4fmu/fmu.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp
index 6d4019f24..b1dd55dd7 100644
--- a/src/drivers/px4fmu/fmu.cpp
+++ b/src/drivers/px4fmu/fmu.cpp
@@ -1096,10 +1096,11 @@ fmu_start(void)
void
test(void)
{
- int fd;
+ int fd;
unsigned servo_count = 0;
unsigned pwm_value = 1000;
int direction = 1;
+ int ret;
fd = open(PX4FMU_DEVICE_PATH, O_RDWR);
@@ -1114,9 +1115,9 @@ test(void)
warnx("Testing %u servos", (unsigned)servo_count);
- int console = open("/dev/console", O_NONBLOCK | O_RDONLY | O_NOCTTY);
- if (!console)
- err(1, "failed opening console");
+ struct pollfd fds;
+ fds.fd = 0; /* stdin */
+ fds.events = POLLIN;
warnx("Press CTRL-C or 'c' to abort.");
@@ -1166,15 +1167,17 @@ test(void)
/* Check if user wants to quit */
char c;
- if (read(console, &c, 1) == 1) {
- if (c == 0x03 || c == 0x63) {
+ ret = poll(&fds, 1, 0);
+ if (ret > 0) {
+
+ read(0, &c, 1);
+ if (c == 0x03 || c == 0x63 || c == 'q') {
warnx("User abort\n");
break;
}
}
}
- close(console);
close(fd);
exit(0);