Params
The Params microservice provides access to configuration parameters on MAVLink devices. It is an implementation of the MAVLink Parameter Protocol.
Parameters are key-value pairs where the key is a parameter name (up to 16 characters) and the value can be one of several numeric types.
The Params microservice can be used in two roles:
Client implementing IParamsClient
— reads and writes parameters on a remote device (e.g., ground control station).Server implementing IParamsServer
— stores parameters and responds to parameter requests (e.g., drone or autopilot).
There are also extended versions that provide higher-level abstractions:
ParamsClientEx implementing IParamsClientEx
— provides caching, synchronization, and simplified parameter access.ParamsServerEx implementing IParamsServerEx
— provides metadata support, type-safe parameter handling, and reactive updates.
Parameter
Type
MAVLink parameters support the following types (defined in MavParamType):
Type | Description |
|---|---|
| 8-bit unsigned integer |
| 8-bit signed integer |
| 16-bit unsigned integer |
| 16-bit signed integer |
| 32-bit unsigned integer |
| 32-bit signed integer |
| 64-bit unsigned integer |
| 64-bit signed integer |
| 32-bit floating point number |
| 64-bit floating point number |
Value
Parameters are represented using the MavParamValue struct, which is a type-safe wrapper around parameter values. It implements comparison operations with different numeric data types and supports implicit type conversions. It allows automatic casting from numeric types to MavParamValue and from MavParamValue back to numeric types, enabling direct assignment, comparison, and arithmetic operations without explicit conversion.