diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-02-12 08:13:53 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-02-12 08:13:53 +0100 |
commit | 500ac69ee46ad582eee5a4321bd53665e17032da (patch) | |
tree | d8942396ace6a2db85e892cf4362bd2bf71cd917 /src/modules/px4iofirmware/sbus.c | |
parent | 9315796020339906d30580892f57abcdc1238b0c (diff) | |
download | px4-firmware-500ac69ee46ad582eee5a4321bd53665e17032da.tar.gz px4-firmware-500ac69ee46ad582eee5a4321bd53665e17032da.tar.bz2 px4-firmware-500ac69ee46ad582eee5a4321bd53665e17032da.zip |
Build test code for S.BUS output, send test characters once S.BUS1 or S.BUS2 is enabled
Diffstat (limited to 'src/modules/px4iofirmware/sbus.c')
-rw-r--r-- | src/modules/px4iofirmware/sbus.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/modules/px4iofirmware/sbus.c b/src/modules/px4iofirmware/sbus.c index f6ec542eb..86240d36a 100644 --- a/src/modules/px4iofirmware/sbus.c +++ b/src/modules/px4iofirmware/sbus.c @@ -93,7 +93,7 @@ int sbus_init(const char *device) { if (sbus_fd < 0) - sbus_fd = open(device, O_RDONLY | O_NONBLOCK); + sbus_fd = open(device, O_RDWR | O_NONBLOCK); if (sbus_fd >= 0) { struct termios t; @@ -118,6 +118,18 @@ sbus_init(const char *device) } bool +sbus1_output(uint16_t *values, uint16_t num_values) +{ + write(sbus_fd, 'A', 1); +} + +bool +sbus2_output(uint16_t *values, uint16_t num_values) +{ + write(sbus_fd, 'B', 1); +} + +bool sbus_input(uint16_t *values, uint16_t *num_values, bool *sbus_failsafe, bool *sbus_frame_drop, uint16_t max_channels) { ssize_t ret; |