aboutsummaryrefslogtreecommitdiff
path: root/src/modules/px4iofirmware/sbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/px4iofirmware/sbus.c')
-rw-r--r--src/modules/px4iofirmware/sbus.c18
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;