Channels
The channels subprotocols allows the UAV to transmit the input (received from RC) and output (sent to motors/control-surfaces) channel values to the GCS.
Input Channels
The input channels subprotocol allows the UAV to send the values of its input channels (received from the RC) to the GCS at at fixed intervals.
Messages
INPUT_CHANNELS_RAW
Sequence
sequenceDiagram
participant GCS
participant UAV
UAV->>GCS: INPUT_CHANNELS_RAW
GCS->>GCS: Start/reset timeout
- The UAV transmits the raw values of the RC channels at a fixed rate through
INPUT_CHANNELS_RAWmessages, each containing a complete frame (all channel values) - After receiving an
INPUT_CHANNELS_RAWmessage (while a connection exists), the GCS starts a timeout of a fixed duration. If a timeout was already started, it is reset. - If the timeout expires before the UAV can send the next set of values, the current values are considered stale.
Notes
- The
INPUT_CHANNELS_RAWmessage does not require an acknowledgment from the GCS because it is a periodic message sent at a considerable frequency. Acknowledgments can overload the buffer and in case of the GCS not receiving the values, the UAV can still be flown and landed without catastrophic failure (the GCS will report that the values are stale so that the Operator/Pilot are aware of the issue).
Output Channels
The output channels subprotocol allows the UAV to send the values of its output channels (sent to the motors) to the GCS at at fixed intervals.
Messages
OUTPUT_CHANNELS_RAW
Sequence
sequenceDiagram
participant GCS
participant UAV
UAV->>GCS: OUTPUT_CHANNELS_RAW
GCS->>GCS: Start/reset timeout
- The UAV transmits the raw values of the Motor channels at a fixed rate through
OUTPUT_CHANNELS_RAWmesages, each containing a complete frame (all channel values). - After receiving an
OUTPUT_CHANNELS_RAWmessage (while a connection exists), the GCS starts a timeout of a fixed duration. If a timeout was already started, it is reset. - If the timeout expires before the UAV can send the next set of values, the current values are considered stale.
Notes
- The
OUTPUT_CHANNELS_RAWmessage does not require an acknowledgment from the GCS because it is a periodic message sent at a considerable frequency. Acknowledgments can overload the buffer and in case of the GCS not receiving the values, the UAV can still be flown and landed without catastrophic failure (the GCS will report that the values are stale so that the Operator/Pilot are aware of the issue).