forked from Archive/PX4-Autopilot
Merge pull request #442 from PX4/px4io_rate_fix
px4io: make "too high rate" warning consistent with real behavor
This commit is contained in:
commit
55f7c561ef
|
@ -94,6 +94,8 @@ extern device::Device *PX4IO_serial_interface() weak_function;
|
|||
#define PX4IO_SET_DEBUG _IOC(0xff00, 0)
|
||||
#define PX4IO_INAIR_RESTART_ENABLE _IOC(0xff00, 1)
|
||||
|
||||
#define UPDATE_INTERVAL_MIN 2
|
||||
|
||||
/**
|
||||
* The PX4IO class.
|
||||
*
|
||||
|
@ -790,8 +792,8 @@ PX4IO::task_main()
|
|||
|
||||
/* adjust update interval */
|
||||
if (_update_interval != 0) {
|
||||
if (_update_interval < 5)
|
||||
_update_interval = 5;
|
||||
if (_update_interval < UPDATE_INTERVAL_MIN)
|
||||
_update_interval = UPDATE_INTERVAL_MIN;
|
||||
if (_update_interval > 100)
|
||||
_update_interval = 100;
|
||||
orb_set_interval(_t_actuators, _update_interval);
|
||||
|
@ -1942,8 +1944,8 @@ int
|
|||
PX4IO::set_update_rate(int rate)
|
||||
{
|
||||
int interval_ms = 1000 / rate;
|
||||
if (interval_ms < 3) {
|
||||
interval_ms = 3;
|
||||
if (interval_ms < UPDATE_INTERVAL_MIN) {
|
||||
interval_ms = UPDATE_INTERVAL_MIN;
|
||||
warnx("update rate too high, limiting interval to %d ms (%d Hz).", interval_ms, 1000 / interval_ms);
|
||||
}
|
||||
|
||||
|
@ -2317,7 +2319,7 @@ px4io_main(int argc, char *argv[])
|
|||
if ((argc > 2)) {
|
||||
g_dev->set_update_rate(atoi(argv[2]));
|
||||
} else {
|
||||
errx(1, "missing argument (50 - 400 Hz)");
|
||||
errx(1, "missing argument (50 - 500 Hz)");
|
||||
return 1;
|
||||
}
|
||||
exit(0);
|
||||
|
|
Loading…
Reference in New Issue