1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-30 08:24:11 +01:00
LibrePilot/flight/PiOS
Oleg Semyonov 0116e6a007 spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support
- both CC serial ports are now disabled by default (no telemetry);
- serial ports now have DSM2, DSMX (10bit) and DSMX (11bit) options;
- ReceiverGroups now have DSM (MainPort) and DSM (FlexiPort) options.

For DSM2 protocol there is an explicit resolution bit in the stream, so
the DSM2 should be selected. For DSMX there is no such bit, and user
should choose the resolution from the list configuring the spektrum port.
ReceiverGroups have single DSM option which is handled by the same driver.

Downside: this implementation saves received frame first, unrolls by the
end of frame. This should be ok, but may be improved by unrolling channels
on the fly in the rx callback.

Another minor difference is that a ChannelGroup is now bound to port:
DSM (MainPort) or DSM (FlexiPort). This was considered as acceptable
solution in order to not have 6 DSM options for each ChannelGroup and
even more in case of new DSM protocol variations.

Known problem: it is not possible to choose same protocols like
DSM2/DSM2 for two ports. It can be enabled by adding an exception to
common rule, though.

The DSMX throttle channel misbehavior (zero value) is not treated
specially yet. It should trigger the failsafe being out of bounds.
More info and data dumps are required to handle this properly.
2011-10-30 19:29:03 +02:00
..
Boards sbus: better frame syncronization, some cosmetic changes 2011-10-22 00:44:09 +03:00
Common OP-499 Erase settings bug: Make hte flash chip read a wrong value for 1 second 2011-10-07 14:08:56 -05:00
inc spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support 2011-10-30 19:29:03 +02:00
STM32F10x spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support 2011-10-30 19:29:03 +02:00
pios.h rcvr: add generic driver API for receivers 2011-07-05 22:02:47 -04:00