diff options
Diffstat (limited to 'src/modules/px4iofirmware/sbus.c')
-rw-r--r-- | src/modules/px4iofirmware/sbus.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/modules/px4iofirmware/sbus.c b/src/modules/px4iofirmware/sbus.c index 33ef515be..925e24f65 100644 --- a/src/modules/px4iofirmware/sbus.c +++ b/src/modules/px4iofirmware/sbus.c @@ -109,7 +109,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; @@ -138,21 +138,15 @@ sbus_init(const char *device) void sbus1_output(uint16_t *values, uint16_t num_values) { - /* - * S.BUS2 outputs are defined as: - * - */ - #warning SBUS1 output is not yet implemented + char a = 'A'; + write(sbus_fd, &a, 1); } void sbus2_output(uint16_t *values, uint16_t num_values) { - /* - * S.BUS2 outputs are defined as: - * - */ - #warning SBUS2 output is not yet implemented + char b = 'B'; + write(sbus_fd, &b, 1); } bool @@ -280,6 +274,7 @@ sbus_parse(hrt_abstime now, uint8_t *frame, unsigned *partial_count, uint16_t *v case 0x03: { uint16_t rx_voltage = (frame[1] << 8) | frame[2]; + isr_debug(30, "rx_voltage %d", (int)rx_voltage); n_consumed = 3; } break; @@ -308,6 +303,7 @@ sbus_parse(hrt_abstime now, uint8_t *frame, unsigned *partial_count, uint16_t *v case 0x13: { uint16_t gps_something = (frame[1] << 8) | frame[2]; + isr_debug(30, "gps_something %d", (int)gps_something); n_consumed = 24; } break; |