From 1a5c466a3c867c898a9673c3d398ba23f1133153 Mon Sep 17 00:00:00 2001 From: Thomas Watters Date: Mon, 12 May 2025 11:56:13 -0700 Subject: [PATCH] expanding generic payload --- message_definitions/v1.0/development.xml | 115 +++++++++++++++++++---- 1 file changed, 99 insertions(+), 16 deletions(-) diff --git a/message_definitions/v1.0/development.xml b/message_definitions/v1.0/development.xml index cf3dddb528b..33079b1dad6 100644 --- a/message_definitions/v1.0/development.xml +++ b/message_definitions/v1.0/development.xml @@ -339,11 +339,7 @@ - - Allows for enable/disable control over function(s) of a generic payload. - Index of Function - 0: Disable, 1: Enable - + Allows setting an AT S command of an SiK radio. @@ -572,6 +568,48 @@ RAIM integrity check failed. + + Control mode for generic payload functions. + + Function maintains its state until explicitly changed (toggle on/off). + + + Function is active when commanded and automatically deactivates after timeout_ms milliseconds. If timeout_ms is 0, a default timeout of 100ms is used. + + + + Data type for generic payload function values. + + 32-bit signed integer. + + + 32-bit unsigned integer. + + + 32-bit IEEE-754 floating point. + + + 64-bit signed integer. + + + 64-bit unsigned integer. + + + 64-bit IEEE-754 floating point. + + + + Type of generic payload function. + + Logical state control (true/false, on/off, high/low). + + + Continuous value control (e.g., servo angle, motor speed). Uses min/max for range. + + + Discrete value selection (e.g., mode number, PWM frequency). Uses min/max for valid range. + + There is an error with the generic payload's software. @@ -692,22 +730,67 @@ Fuel type. Defines units for fuel capacity and consumption fields above. - Generic payload status. - Time since the start-up of the generic payload in ms - Generic payload name to be used in UI. This is a NULL terminated string. If it is exactly 32 characters long, add a terminating NULL. If this string is empty, a generic name is shown to the user. - Total number of functions on the generic payload that can be controlled. - Errors - Bitmap used to show custom error flags. - The power draw of the generic payload. NaN: field not provided - Generic payload weight. 0: field not provided. - Temperature in Celsius. NaN: field not provided. + Status and discovery message for a generic payload. This should be broadcast at a low rate (nominally 1 Hz) to announce the payload's presence and capabilities. + Time since payload boot. + Current error flags. + Bitmap for custom error flags specific to this payload type. + Number of functions this payload provides. + Number of telemetry channels this payload provides. + Name of the generic payload for UI display. NULL terminated string. + + Power consumption of the payload. 0 if not available. + Temperature of the payload (0.002 degrees Celsius per unit, 0 = -40C). UINT16_MAX if not available. + Weight of the payload. 0 if not available. Generic payload function status. - Generic payload function name to be used in UI. This is a NULL terminated string. If it is exactly 32 characters long, add a terminating NULL. If this string is empty, a generic name is shown to the user. Index of this function on the generic payload. + Type of function. + Data type for value/min/max fields. + 0: Disabled, 1: Enabled + Lower 32 bits of current value. For 32-bit types, this is the entire value. For 64-bit types, this is the least significant word. + Lower 32 bits of minimum value (for CONTINUOUS/DISCRETE types). + Lower 32 bits of maximum value (for CONTINUOUS/DISCRETE types). + Control behavior of the function. + Timeout in milliseconds for MOMENTARY mode. 0 means use default timeout (100ms). + Name of the function for UI display. NULL terminated string. + Units for the value field (optional). NULL terminated string. + + Upper 32 bits of current value. Only used for 64-bit types. + Upper 32 bits of minimum value. Only used for 64-bit types. + Upper 32 bits of maximum value. Only used for 64-bit types. + + + Generic payload telemetry channel status. + Index of this telemetry channel on the generic payload. + Data type for value/min/max fields. + Rate at which the value is updated (0 if unknown). + Lower 32 bits of current value. For 32-bit types, this is the entire value. For 64-bit types, this is the least significant word. + Lower 32 bits of minimum value. Used for scaling/display. + Lower 32 bits of maximum value. Used for scaling/display. + Name of the telemetry channel for UI display. NULL terminated string. + Units for the value field (optional). NULL terminated string. + + Upper 32 bits of current value. Only used for 64-bit types. + Upper 32 bits of minimum value. Only used for 64-bit types. + Upper 32 bits of maximum value. Only used for 64-bit types. + + + Command to control a generic payload function. + Index of this function on the generic payload. + Data type for value field. 0: Disable, 1: Enable - Total number of functions on the generic payload that can be controlled. + Lower 32 bits of value to set. For 32-bit types, this is the entire value. For 64-bit types, this is the least significant word. + + Upper 32 bits of value to set. Only used for 64-bit types. + + + + Lightweight telemetry data message for streaming values. + Index of this telemetry channel on the generic payload. + Lower 32 bits of current value. For 32-bit types, this is the entire value. For 64-bit types, this is the least significant word. + + Upper 32 bits of current value. Only used for 64-bit types. Emitted during mission execution when control reaches MAV_CMD_GROUP_START.