Difference between revisions of "Protocol decoder:Sbus futaba"
(start an SBUS (Futaba) decoder page) |
m (fixup image reference) |
||
Line 25: | Line 25: | ||
[[File:Pd-sbus_futaba-message.png]] | [[File:Pd-sbus_futaba-message.png]] | ||
[[File:Pd-sbus_futaba- | [[File:Pd-sbus_futaba-channel.png]] | ||
TODO Add illustrations of error conditions: Short messages. Excess data after complete messages. Invalid header and footer values. UART frame errors. Value range violations (when the decoder grows support for them). | TODO Add illustrations of error conditions: Short messages. Excess data after complete messages. Invalid header and footer values. UART frame errors. Value range violations (when the decoder grows support for them). |
Revision as of 05:41, 21 April 2022
Name | TBD |
---|---|
Description | TBD |
Status | in progress |
License | GPLv2+ |
Source code | decoders/sbus_futaba |
Input | uart |
Output | — |
Options | — |
The sbus_futaba protocol decoder can decode SBUS ("Serial bus") communication as it is seen in hobby remote control by the Futaba vendor.
The protocol runs on top of UART communication, typical parameters are 100kbps, 8e2 frame format, inverted (high voltage level is logic low).
SBUS messages consist of 25 UART bytes, a message provides 16 continuous channels of 11 bits each, 2 digital channels of 1 bit each, and two flags (frame lost, failsafe). Applications may communicate values between 192 and 1792 on the wire, and map these to values 1000 to 2000 for their firmware purposes.
SBUS messages take 3ms to communicate. Tyipcal repeat intervals are: 10ms, 20ms. (TODO Verify these repeat intervals, fixup the description.)
Example interactive use
These images illustrate the overview of one message, and zoom in into an individual channel's value and its associated UART bits. The data used in this setup is synthetic.
TODO Add illustrations of error conditions: Short messages. Excess data after complete messages. Invalid header and footer values. UART frame errors. Value range violations (when the decoder grows support for them).
Example command line use
TODO This section is work in progress. Finish these notes. Provide the command's output.
$ INPUT="-i file.bin -I protocoldata:protocol=uart:bitrate=100000:frameformat=8e2" $ P_UART="uart:baudrate=100000:parity=even" $ sigrok-cli $INPUT -P ${P_UART},sbus_futaba -A sbus_futaba