diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2012-11-10 17:07:17 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2012-11-10 17:07:17 +0100 |
commit | b43f692d3a5e999895f6781a4df79f7179ac273c (patch) | |
tree | bcf52b90bb95da0ecfe8eb8753d1799694269adc /apps/drivers/hil/hil.cpp | |
parent | 84a0261278d4015d2638043d116a6e591d1867f7 (diff) | |
download | px4-firmware-b43f692d3a5e999895f6781a4df79f7179ac273c.tar.gz px4-firmware-b43f692d3a5e999895f6781a4df79f7179ac273c.tar.bz2 px4-firmware-b43f692d3a5e999895f6781a4df79f7179ac273c.zip |
Correctly handling 8+ outputs, currently only first 8 supported
Diffstat (limited to 'apps/drivers/hil/hil.cpp')
-rw-r--r-- | apps/drivers/hil/hil.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/apps/drivers/hil/hil.cpp b/apps/drivers/hil/hil.cpp index eb080ffc4..dd5463d4e 100644 --- a/apps/drivers/hil/hil.cpp +++ b/apps/drivers/hil/hil.cpp @@ -335,7 +335,30 @@ HIL::task_main() fds[1].fd = _t_armed; fds[1].events = POLLIN; - unsigned num_outputs = (_mode == MODE_2PWM) ? 2 : 4; + unsigned num_outputs; + + /* select the number of virtual outputs */ + switch (_mode) { + case MODE_2PWM: + num_outputs = 2; + break; + + case MODE_4PWM: + num_outputs = 4; + break; + + case MODE_8PWM: + case MODE_12PWM: + case MODE_16PWM: + // XXX only support the lower 8 - trivial to extend + num_outputs = 8; + break; + + case MODE_NONE: + default: + num_outputs = 0; + break; + } log("starting"); |