Skip to main content

UAV Configuration

The UAV configuration subprotocol allows the GCS to read and update the stored UAV configurations on the UAV.

UAV Configuration Read

The UAV configuration read subprotocol allows the GCS to read the stored UAV configuration from the UAV, either initiated by the Operator or when a connection is established.

Messages

  1. CONFIGURATION_READ_REQUEST
  2. CONFIGURATION_PARAMS

Sequence

sequenceDiagram
participant GCS
participant UAV

loop n
GCS->>UAV: CONFIGURATION_READ_REQUEST
GCS->>GCS: Start timeout

alt success
UAV-->>GCS: CONFIGURATION_PARAMS
else failure
GCS->>GCS: Timeout expires
end
end
  1. When the GCS wants to read the UAV Configuration from the UAV, it sends a CONFIGURATION_READ_REQUEST message to the UAV.
  2. The GCS starts a timeout of a fixed duration.
  3. If the UAV responds with a CONFIGURATION_PARAMS message before the timeout expires, the operation is considered successful.
  4. If the timeout expires before the UAV can send a response, the operation is considered a failure, the error is reported and the UAV continues operations.

Note- The configuration being used by the GCS is not updated before the entire set of parameters is received from the UAV. If the operation fails midway, the error is reported and the configuration being displayed on the GCS is maintained.

UAV Configuration Write

The UAV configuration write subprotocol allows the GCS to update the stored UAV configuration in the UAV.

Messages

  1. CONFIGURATION_WRITE_REQUEST
  2. CONFIGURATION_WRITE_REQUEST_ACK
  3. CONFIGURATION_PARAMS
  4. CONFIGURATION_PARAMS_ACK
  5. CONFIGURATION_PARAMS_NACK

Sequence

sequenceDiagram
participant GCS
participant UAV

loop every 200 milliseconds
GCS->>UAV: CONFIGURATION_WRITE_REQUEST
GCS->>GCS: Start timeout

alt success

UAV-->>GCS: CONFIGURATION_WRITE_REQUEST_ACK
UAV->>UAV: Start timeout

alt success
GCS-->>UAV: CONFIGURATION_PARAMS
GCS->>GCS: Start timeout

alt success
UAV-->>GCS: CONFIGURATION_PARAMS_ACK
else cancelled
UAV-->>GCS: CONFIGURATION_PARAMS_NACK
else failure
GCS->>GCS: Timeout expires
end

else failure
UAV->>UAV: Timeout expires
end

else failure
GCS->>GCS: Timeout expires
end
end
  1. When the GCS wants to update the UAV Configuration in the UAV, it sends a CONFIGURATION_WRITE_REQUEST message to the UAV.
  2. The GCS starts a timeout of a fixed duration.
  3. If the UAV responds with a CONFIGURATION_WRITE_REQUEST_ACK before the timeout expires, the operation moves ahead.
  4. If the timeout expires before the UAV can send a response, the operation is considered cancelled.
  5. After the UAV has responded with a CONFIGURATION_WRITE_REQUEST_ACK message, it starts a timeout of a fixed duration.
  6. If the GCS responds with the CONFIGURATION_PARAMS message before the timeout expires, the UAV responds with a CONFIGURATION_PARAMS_ACK message.
  7. If the timeout expires before the GCS is able to send the parameters, the operation is considered cancelled and the UAV continues operations.
  8. Once the GCS sends the CONFIGURATION_PARAMS message, it starts a timeout of a fixed duration.
  9. If the UAV responds with a CONFIGURATION_PARAMS_ACK message before the timeout expires, the operation is considered successful.
  10. If the UAV responds with a CONFIGURATION_PARAMS_NACK message before the timeout expires, the operation is considered cancelled.
  11. If the timeout expires before UAV can send a response, the operations is considered a failure.

Note- The configuration stored on and being used by the UAV is not updated before the entire set of parameters is received from the GCS. If the operation fails midway, the error is logged and the configuration being used by the UAV before continues to be used.