Fix breakage to the DSM parser introduced with the input prioritisation logic. Back out to a "any input wins" strategy; connecting multiple receivers to I/O at the same time is currently not supported (read: strange things will happen).

This commit is contained in:
px4dev
2012-12-03 23:20:28 -08:00
parent 6e328b4d7a
commit 1485a4ec1a
7 changed files with 84 additions and 88 deletions
+3 -9
View File
@@ -100,8 +100,8 @@ comms_main(void)
debug("FMU: ready");
for (;;) {
/* wait for serial data, but no more than 100ms */
poll(&fds, 1, 100);
/* wait for serial data, but no more than 10ms */
poll(&fds, 1, 10);
/*
* Pull bytes from FMU and feed them to the HX engine.
@@ -132,13 +132,7 @@ comms_main(void)
/* populate the report */
for (int i = 0; i < system_state.rc_channels; i++)
report.rc_channel[i] = system_state.rc_channel_data[i];
if (system_state.sbus_input_ok || system_state.dsm_input_ok || system_state.ppm_input_ok) {
report.channel_count = system_state.rc_channels;
} else {
report.channel_count = 0;
}
report.channel_count = system_state.rc_channels;
report.armed = system_state.armed;
/* and send it */