Andy Piper
1f3c24d436
AP_RCProtocol: put back DSM VTX control and logging, add tests
4 years ago
Andrew Tridgell
2bac4b1d97
AP_RCProtocol: fixed up DSM decoder test suite
...
reverted values from new decoder and added another example
5 years ago
Andrew Tridgell
78c4e27259
AP_RCProtocol: reverted DSM protocol decoder
...
the new decoder done by Andy is much nicer looking code, but fails to
correctly parse several valid DSM setups, and parses both SBUS and
FPort as DSM, breaking setups that were previously working
5 years ago
Andrew Tridgell
6e1aeb905f
AP_RCProtocol: added another DSM satellite protocol
5 years ago
Andrew Tridgell
1560c33418
AP_RCProtocol: fixed support for spektrum satellite receivers
...
this was broken by the recent DSM protocol decoder change
5 years ago
Andrew Tridgell
2779b26e6e
AP_RCProtocol: fixed the "3 good frames" test
...
require 3 consecutive good frames, not 3 frames total, to declare the
weak protocols as detected
5 years ago
Andrew Tridgell
380e9d3075
AP_RCProtocol: greatly increase robustness of DSM decoding
...
this prevents other protocols being decoded as DSM
5 years ago
Andrew Tridgell
e0ec46f06d
AP_RCProtocol: support a mask of enabled RC protocols
5 years ago
Andy Piper
ce970dcf75
AP_RCProtocol: process CRSF link statistics frames to get RSSI
5 years ago
Peter Barker
8f77536c08
AP_RCProtocol: fix segfault in example due to lack of VideoTX singleton
5 years ago
Andy Piper
b697a44aed
AP_RCProtocol: configure VTX when a SRXL2 VTX packet is received
...
support DSM VTX control
5 years ago
Andy Piper
80e1c0ebb0
AP_RCProtocol: decode DSM frame markers to avoid timing related jitters especially in SITL
...
complete re-write of DSM decoding
5 years ago
Andy Piper
4e88adf86e
AP_RCProtocol: TBS CRSF implementation
...
refactor rc channels decoding into backend
refactor SBUS to use decode_11bit_channels()
only support big-endian
don't include CRSF in iomcu
5 years ago
Andrew Tridgell
21937a7830
AP_RCProtocol: fixed alignment errors in SRXL2
...
invalid alignment used
5 years ago
Andy Piper
6162605388
AP_RCProtocol: ignore SRXL2 dbm rssi value like BF does
5 years ago
Andy Piper
acff7daba5
AP_RCProtocol: scale SRXL2 using published conversion values. switch SRXL2 channels to match ArduPilot
5 years ago
Andy Piper
167e1d12d7
AP_RCProtocol: disable flow-control and buffered-writes for SRXL2 uart
...
switched spm_srxl.c to C++ compilation
Correctly set budget for half-duplex writes
Tidy PACKED and other externalities
disable SRXL2 on IOMCU and softserial - SRXL2 is a serial half-duplex protocol-only
fixed buffer overrun in SRXL2 parser
fix bugs in decoder sketch and allow output to SITL
5 years ago
Andy Piper
e3a88f686d
AP_RCTelemetry: Spektrum telemetry library and telemetry abstraction
...
add support for temperature, battery voltage, battery current, flight pack
altitiude, airspeed, attitude and compass, GPS, ESC telemetry based on BLHeli
status messages and QOS packets.
refactor into AP_Telemetry
conditionally compile based on HAL_MINIMIZE_FEATURES
don't initialize spektrum telemetry if there is no RC uart
5 years ago
Andy Piper
68c6a3b03d
AP_RCProtocol: SRXL2 support
5 years ago
Andrew Tridgell
7e835d1037
AP_RCProtocol: fixed buffer overflow in st24 parser
...
found using random data injection in SITL
5 years ago
Peter Barker
061c3ecb7f
AP_RCProtocol: add documentation for RCDA message
5 years ago
Andrew Tridgell
087da57858
AP_RCProtocol: added logging of RC prototol input bytes
5 years ago
Andrew Tridgell
6b35497129
AP_RCProtocol: moved fport variables into class
...
reduced pollution of global namespace
5 years ago
Andrew Tridgell
a1069d85cb
AP_RCProtocol: fixed bug in FPort parser
...
if we got invalid frame->type values we would overrun the buffer and
cause memory corruption. This was the cause of the bug Polarijet found
5 years ago
yaapu
b4bdc76a53
AP_RCProtocol: handle 0x10 and 0x00 frames, check scheduler delay and fix incoming crc
...
Respond to 0x10 when the rx is controlling bandwidth, else respond only to 0x00
but in this case never exceed a max number of consecutive frames.
Always respond to polling and if necessary send a null frame.
moved delay check after get_telem_data() to account for scheduler time
align incoming to outgoing crc
5 years ago
Andrew Tridgell
8e67c3459a
AP_RCProtocol: added multi-channel read() API
...
and use pulse_input_enable() to disable pulse input when not needed
5 years ago
yaapu
88f0d54574
AP_RCProtocol: fport downlink packet: fixed CRC and added missing PACKED attribute
5 years ago
Peter Barker
4d6f6c09fb
AP_RCProtocol: add missing break statement
5 years ago
Andrew Tridgell
74ca9033e2
AP_RCProtocol: fixed support for 22ms multi-frame DSM
5 years ago
Andrew Tridgell
39b738e407
AP_RCProtocol: expand test suite for multi-frame protocols
5 years ago
Andrew Tridgell
5588229f68
AP_RCProtocol: fixed scaling on FPort RSSI
...
make it match OpenTX
5 years ago
Andrew Tridgell
f8847bf569
AP_RCProtocol: auto-create Frsky_Telem object when needed for FPort
5 years ago
Andrew Tridgell
33182a9f11
AP_RCProtocol: use RC_OPTIONS fport pad option
5 years ago
Andrew Tridgell
fd5ff97b59
AP_RCProtocol: support FPort telemetry data
...
get SPort data from AP_FrSky_Telem
5 years ago
Andrew Tridgell
a72eaabc96
AP_RCProtocol: support FPort RSSI
5 years ago
Andrew Tridgell
9332c08c46
AP_RCProtocol: added FPort protocol support
5 years ago
Andy Piper
afa232cc7e
AP_RCProtocol: fix example compile on macos
5 years ago
Mirko Denecke
fe46dc34d4
AP_RCProtocol: remove duplicated definition from protocol_detected
5 years ago
Andrew Tridgell
aa20be4270
AP_RCProtocol: fixed SUMD with 16 channels
...
with 16 channels it is more than 3ms per frame
6 years ago
Andrew Tridgell
c8de2ec9c7
AP_RCProtocol: added update() method for use by SITL
6 years ago
Andrew Tridgell
2b856abdd1
AP_RCProtocol: support an additional uart on RC input
...
this will allow for any UART to be configured as an additional RC
input source
6 years ago
Mirko Denecke
633eb11bfd
AP_RCProtocol: IBUS remove unused field
6 years ago
murata
954e6a0c50
AP_RCProtocol: Match output type and variable type
6 years ago
PraiseSatan
bad5fb418d
AP_RCProtocol: added ibus RX support to recieve channel data from ibus transmitters.
6 years ago
Andrew Tridgell
0f4c54aaa6
AP_RCProtocol: fixed a overflow in SRXL decoder
...
thanks to coverity 343308 and Peter for noticing
6 years ago
Peter Barker
cbf6d44277
AP_RCProtocol: fix missing-declaration warning in example
6 years ago
murata
987966a6d7
AP_RCProtocol: Change to shared CRC16 method
6 years ago
Peter Barker
807c673b4f
AP_RCProtocol: tidy RC option flag handling
6 years ago
Andrew Tridgell
9f1eaf4b37
AP_RCProtocol: fixed RC option check for iofirmware
6 years ago
Andrew Tridgell
db9912fd58
AP_RCProtocol: use RC_IGNORE_FAILSAFE
6 years ago