Merge pull request #1427 from hsteinhaus/drive_testing

motor_test: cleanup
This commit is contained in:
Lorenz Meier
2014-11-13 10:24:26 +01:00
2 changed files with 13 additions and 12 deletions
+1 -1
View File
@@ -57,7 +57,7 @@
struct test_motor_s {
uint64_t timestamp; /**< output timestamp in us since system boot */
unsigned motor_number; /**< number of motor to spin */
float value; /**< output data, in natural output units */
float value; /**< output power, range [0..1]
};
/**
+12 -11
View File
@@ -54,7 +54,8 @@
#include "systemlib/err.h"
__EXPORT int motor_test_main(int argc, char *argv[]);
__EXPORT int motor_test_main(int argc, char *argv[]);
static void motor_test(unsigned channel, float value);
static void usage(const char *reason);
@@ -67,13 +68,13 @@ void motor_test(unsigned channel, float value)
_test_motor.timestamp = hrt_absolute_time();
_test_motor.value = value;
if (_test_motor_pub > 0) {
/* publish armed state */
orb_publish(ORB_ID(test_motor), _test_motor_pub, &_test_motor);
} else {
/* advertise and publish */
_test_motor_pub = orb_advertise(ORB_ID(test_motor), &_test_motor);
}
if (_test_motor_pub > 0) {
/* publish test state */
orb_publish(ORB_ID(test_motor), _test_motor_pub, &_test_motor);
} else {
/* advertise and publish */
_test_motor_pub = orb_advertise(ORB_ID(test_motor), &_test_motor);
}
}
static void usage(const char *reason)
@@ -102,18 +103,18 @@ int motor_test_main(int argc, char *argv[])
switch (ch) {
case 'm':
/* Read in channels supplied as one int and convert to mask: 1234 -> 0xF */
/* Read in motor number */
channel = strtoul(optarg, NULL, 0);
break;
case 'p':
/* Read in custom low value */
/* Read in power value */
lval = strtoul(optarg, NULL, 0);
if (lval > 100)
usage("value invalid");
value = (float)lval/100.f;
value = ((float)lval)/100.f;
break;
default:
usage(NULL);