diff options
Diffstat (limited to 'src/modules/px4iofirmware/sbus.c')
-rw-r--r-- | src/modules/px4iofirmware/sbus.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/modules/px4iofirmware/sbus.c b/src/modules/px4iofirmware/sbus.c index f6ec542eb..0f0414148 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; @@ -113,10 +113,23 @@ sbus_init(const char *device) } else { debug("S.Bus: open failed"); } - return sbus_fd; } +void +sbus1_output(uint16_t *values, uint16_t num_values) +{ + char a = 'A'; + write(sbus_fd, &a, 1); +} + +void +sbus2_output(uint16_t *values, uint16_t num_values) +{ + char b = 'B'; + 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) { |