mavlink-mappings
Version:
MavLink message definitions
1,067 lines (1,066 loc) • 40.2 kB
TypeScript
import { int16_t, int32_t, uint8_t, uint16_t, uint32_t, uint64_t, float } from './types';
import { MavLinkPacketRegistry, MavLinkPacketField, MavLinkData } from './mavlink';
import { LandingTargetType, MavLinkCommandRegistry, MavParamType, MavProtocolCapability, ParamAck } from './common';
/**
* WiFi wireless security protocols.
*/
export declare enum WifiNetworkSecurity {
/**
* Undefined or unknown security protocol.
*/
'UNDEFINED' = 0,
/**
* Open network, no security.
*/
'OPEN' = 1,
/**
* WEP.
*/
'WEP' = 2,
/**
* WPA1.
*/
'WPA1' = 3,
/**
* WPA2.
*/
'WPA2' = 4,
/**
* WPA3.
*/
'WPA3' = 5
}
/**
* Airspeed sensor flags
*/
export declare enum AirspeedSensorFlags {
/**
* Airspeed sensor is unhealthy
*/
'UNHEALTHY' = 0,
/**
* True if the data from this sensor is being actively used by the flight controller for guidance,
* navigation or control.
*/
'USING' = 1
}
/**
* Possible transport layers to set and get parameters via mavlink during a parameter transaction.
*/
export declare enum ParamTransactionTransport {
/**
* Transaction over param transport.
*/
'PARAM' = 0,
/**
* Transaction over param_ext transport.
*/
'PARAM_EXT' = 1
}
/**
* Possible parameter transaction actions.
*/
export declare enum ParamTransactionAction {
/**
* Commit the current parameter transaction.
*/
'START' = 0,
/**
* Commit the current parameter transaction.
*/
'COMMIT' = 1,
/**
* Cancel the current parameter transaction.
*/
'CANCEL' = 2
}
/**
* Standard modes with a well understood meaning across flight stacks and vehicle types. For example,
* most flight stack have the concept of a "return" or "RTL" mode that takes a vehicle to safety, even
* though the precise mechanics of this mode may differ. Modes may be set using
* MAV_CMD_DO_SET_STANDARD_MODE.
*/
export declare enum MavStandardMode {
/**
* Non standard mode. This may be used when reporting the mode if the current flight mode is not a
* standard mode.
*/
'NON_STANDARD' = 0,
/**
* Position mode (manual). Position-controlled and stabilized manual mode. When sticks are released
* vehicles return to their level-flight orientation and hold both position and altitude against wind
* and external forces. This mode can only be set by vehicles that can hold a fixed position.
* Multicopter (MC) vehicles actively brake and hold both position and altitude against wind and
* external forces. Hybrid MC/FW ("VTOL") vehicles first transition to multicopter mode (if needed) but
* otherwise behave in the same way as MC vehicles. Fixed-wing (FW) vehicles must not support this
* mode. Other vehicle types must not support this mode (this may be revisited through the PR process).
*
*/
'POSITION_HOLD' = 1,
/**
* Orbit (manual). Position-controlled and stabilized manual mode. The vehicle circles around a fixed
* setpoint in the horizontal plane at a particular radius, altitude, and direction. Flight stacks may
* further allow manual control over the setpoint position, radius, direction, speed, and/or altitude
* of the circle, but this is not mandated. Flight stacks may support the
* [MAV_CMD_DO_ORBIT](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_ORBIT) for changing the
* orbit parameters. MC and FW vehicles may support this mode. Hybrid MC/FW ("VTOL") vehicles may
* support this mode in MC/FW or both modes; if the mode is not supported by the current configuration
* the vehicle should transition to the supported configuration. Other vehicle types must not support
* this mode (this may be revisited through the PR process).
*/
'ORBIT' = 2,
/**
* Cruise mode (manual). Position-controlled and stabilized manual mode. When sticks are released
* vehicles return to their level-flight orientation and hold their original track against wind and
* external forces. Fixed-wing (FW) vehicles level orientation and maintain current track and altitude
* against wind and external forces. Hybrid MC/FW ("VTOL") vehicles first transition to FW mode (if
* needed) but otherwise behave in the same way as MC vehicles. Multicopter (MC) vehicles must not
* support this mode. Other vehicle types must not support this mode (this may be revisited through the
* PR process).
*/
'CRUISE' = 3,
/**
* Altitude hold (manual). Altitude-controlled and stabilized manual mode. When sticks are released
* vehicles return to their level-flight orientation and hold their altitude. MC vehicles continue with
* existing momentum and may move with wind (or other external forces). FW vehicles continue with
* current heading, but may be moved off-track by wind. Hybrid MC/FW ("VTOL") vehicles behave according
* to their current configuration/mode (FW or MC). Other vehicle types must not support this mode (this
* may be revisited through the PR process).
*/
'ALTITUDE_HOLD' = 4,
/**
* Return home mode (auto). Automatic mode that returns vehicle to home via a safe flight path. It may
* also automatically land the vehicle (i.e. RTL). The precise flight path and landing behaviour depend
* on vehicle configuration and type.
*/
'RETURN_HOME' = 5,
/**
* Safe recovery mode (auto). Automatic mode that takes vehicle to a predefined safe location via a
* safe flight path (rally point or mission defined landing) . It may also automatically land the
* vehicle. The precise return location, flight path, and landing behaviour depend on vehicle
* configuration and type.
*/
'SAFE_RECOVERY' = 6,
/**
* Mission mode (automatic). Automatic mode that executes MAVLink missions. Missions are executed from
* the current waypoint as soon as the mode is enabled.
*/
'MISSION' = 7,
/**
* Land mode (auto). Automatic mode that lands the vehicle at the current location. The precise landing
* behaviour depends on vehicle configuration and type.
*/
'LAND' = 8,
/**
* Takeoff mode (auto). Automatic takeoff mode. The precise takeoff behaviour depends on vehicle
* configuration and type.
*/
'TAKEOFF' = 9
}
/**
* Mode properties.
*/
export declare enum MavModeProperty {
/**
* If set, this mode is an advanced mode. For example a rate-controlled manual mode might be advanced,
* whereas a position-controlled manual mode is not. A GCS can optionally use this flag to configure
* the UI for its intended users.
*/
'ADVANCED' = 1,
/**
* If set, this mode should not be added to the list of selectable modes. The mode might still be
* selected by the FC directly (for example as part of a failsafe).
*/
'NOT_USER_SELECTABLE' = 2
}
/**
* Battery status flags for fault, health and state indication.
*/
export declare enum MavBatteryStatusFlags {
/**
* The battery is not ready to use (fly). Set if the battery has faults or other conditions that make
* it unsafe to fly with. Note: It will be the logical OR of other status bits (chosen by the
* manufacturer/integrator).
*/
'NOT_READY_TO_USE' = 1,
/**
* Battery is charging.
*/
'CHARGING' = 2,
/**
* Battery is cell balancing (during charging). Not ready to use
* (MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE may be set).
*/
'CELL_BALANCING' = 4,
/**
* Battery cells are not balanced. Not ready to use.
*/
'FAULT_CELL_IMBALANCE' = 8,
/**
* Battery is auto discharging (towards storage level). Not ready to use
* (MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE would be set).
*/
'AUTO_DISCHARGING' = 16,
/**
* Battery requires service (not safe to fly). This is set at vendor discretion. It is likely to be set
* for most faults, and may also be set according to a maintenance schedule (such as age, or number of
* recharge cycles, etc.).
*/
'REQUIRES_SERVICE' = 32,
/**
* Battery is faulty and cannot be repaired (not safe to fly). This is set at vendor discretion. The
* battery should be disposed of safely.
*/
'BAD_BATTERY' = 64,
/**
* Automatic battery protection monitoring is enabled. When enabled, the system will monitor for
* certain kinds of faults, such as cells being over-voltage. If a fault is triggered then and
* protections are enabled then a safety fault (MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM) will
* be set and power from the battery will be stopped. Note that battery protection monitoring should
* only be enabled when the vehicle is landed. Once the vehicle is armed, or starts moving, the
* protections should be disabled to prevent false positives from disabling the output.
*/
'PROTECTIONS_ENABLED' = 128,
/**
* The battery fault protection system had detected a fault and cut all power from the battery. This
* will only trigger if MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED is set. Other faults like
* MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT may also be set, indicating the cause of the protection
* fault.
*/
'FAULT_PROTECTION_SYSTEM' = 256,
/**
* One or more cells are above their maximum voltage rating.
*/
'FAULT_OVER_VOLT' = 512,
/**
* One or more cells are below their minimum voltage rating. A battery that had deep-discharged might
* be irrepairably damaged, and set both MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT and
* MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY.
*/
'FAULT_UNDER_VOLT' = 1024,
/**
* Over-temperature fault.
*/
'FAULT_OVER_TEMPERATURE' = 2048,
/**
* Under-temperature fault.
*/
'FAULT_UNDER_TEMPERATURE' = 4096,
/**
* Over-current fault.
*/
'FAULT_OVER_CURRENT' = 8192,
/**
* Short circuit event detected. The battery may or may not be safe to use (check other flags).
*/
'FAULT_SHORT_CIRCUIT' = 16384,
/**
* Voltage not compatible with power rail voltage (batteries on same power rail should have similar
* voltage).
*/
'FAULT_INCOMPATIBLE_VOLTAGE' = 32768,
/**
* Battery firmware is not compatible with current autopilot firmware.
*/
'FAULT_INCOMPATIBLE_FIRMWARE' = 65536,
/**
* Battery is not compatible due to cell configuration (e.g. 5s1p when vehicle requires 6s).
*/
'FAULT_INCOMPATIBLE_CELLS_CONFIGURATION' = 131072,
/**
* Battery capacity_consumed and capacity_remaining values are relative to a full battery (they sum to
* the total capacity of the battery). This flag would be set for a smart battery that can accurately
* determine its remaining charge across vehicle reboots and discharge/recharge cycles. If unset the
* capacity_consumed indicates the consumption since vehicle power-on, as measured using a power
* monitor. The capacity_remaining, if provided, indicates the estimated remaining capacity on the
* assumption that the battery was full on vehicle boot. If unset a GCS is recommended to advise that
* users fully charge the battery on power on.
*/
'CAPACITY_RELATIVE_TO_FULL' = 262144,
/**
* Reserved (not used). If set, this will indicate that an additional status field exists for higher
* status values.
*/
'EXTENDED' = 4294967295
}
/**
* Commands to be executed by the MAV. They can be executed on user request, or as part of a mission
* script. If the action is used in a mission, the parameter mapping to the waypoint/mission message is
* as follows: Param 1, Param 2, Param 3, Param 4, X: Param 5, Y:Param 6, Z:Param 7. This command list
* is similar what ARINC 424 is for commercial aircraft: A data format how to interpret
* waypoint/mission data. NaN and INT32_MAX may be used in float/integer params (respectively) to
* indicate optional/default values (e.g. to use the component's current yaw or latitude rather than a
* specific value). See https://mavlink.io/en/guide/xml_schema.html#MAV_CMD for information about the
* structure of the MAV_CMD entries
*/
export declare enum MavCmd {
/**
* Fly a figure eight path as defined by the parameters. Set parameters to NaN/INT32_MAX (as
* appropriate) to use system-default values. The command is intended for fixed wing vehicles (and VTOL
* hybrids flying in fixed-wing mode), allowing POI tracking for gimbals that don't support infinite
* rotation. This command only defines the flight path. Speed should be set independently (use e.g.
* MAV_CMD_DO_CHANGE_SPEED). Yaw and other degrees of freedom are not specified, and will be
* flight-stack specific (on vehicles where they can be controlled independent of the heading).
*
* @note has location and is destination
*
* @param1 Major Radius[m] Major axis radius of the figure eight. Positive: orbit the north circle clockwise. Negative: orbit the north circle counter-clockwise.
NaN: The radius will be set to 2.5 times the minor radius and direction is clockwise.
Must be greater or equal to two times the minor radius for feasible values.
* @param2 Minor Radius[m] Minor axis radius of the figure eight. Defines the radius of the two circles that make up the figure. Negative value has no effect.
NaN: The radius will be set to the default loiter radius.
* @param4 Orientation[rad] Orientation of the figure eight major axis with respect to true north (range: [-pi,pi]). NaN: use default orientation aligned to true north.
* @param5 Latitude/X Center point latitude/X coordinate according to MAV_FRAME. If no MAV_FRAME specified, MAV_FRAME_GLOBAL is assumed.
INT32_MAX or NaN: Use current vehicle position, or current center if already loitering.
* @param6 Longitude/Y Center point longitude/Y coordinate according to MAV_FRAME. If no MAV_FRAME specified, MAV_FRAME_GLOBAL is assumed.
INT32_MAX or NaN: Use current vehicle position, or current center if already loitering.
* @param7 Altitude/Z Center point altitude MSL/Z coordinate according to MAV_FRAME. If no MAV_FRAME specified, MAV_FRAME_GLOBAL is assumed.
INT32_MAX or NaN: Use current vehicle altitude.
*/
'DO_FIGURE_EIGHT' = 35,
/**
* Request to start or end a parameter transaction. Multiple kinds of transport layers can be used to
* exchange parameters in the transaction (param, param_ext and mavftp). The command response can
* either be a success/failure or an in progress in case the receiving side takes some time to apply
* the parameters.
* @param1 Action Action to be performed (start, commit, cancel, etc.)
* @param2 Transport Possible transport layers to set and get parameters via mavlink during a parameter transaction.
* @param3 Transaction ID Identifier for a specific transaction.
*/
'PARAM_TRANSACTION' = 900,
/**
* Request a target system to start an upgrade of one (or all) of its components. For example, the
* command might be sent to a companion computer to cause it to upgrade a connected flight controller.
* The system doing the upgrade will report progress using the normal command protocol sequence for a
* long running operation. Command protocol information: https://mavlink.io/en/services/command.html.
* @param1 Component ID Component id of the component to be upgraded. If set to 0, all components should be upgraded.
* @param2 Reboot (min: 0, max: 1, increment: 1) 0: Do not reboot component after the action is executed, 1: Reboot component after the action is executed.
* @param3 Reserved
* @param4 Reserved
* @param5 Reserved
* @param6 Reserved
* @param7 WIP: upgrade progress report rate (can be used for more granular control).
*/
'DO_UPGRADE' = 247,
/**
* Define start of a group of mission items. When control reaches this command a GROUP_START message is
* emitted. The end of a group is marked using MAV_CMD_GROUP_END with the same group id. Group ids are
* expected, but not required, to iterate sequentially. Groups can be nested.
* @param1 Group ID (min: 0, max: 16777216, increment: 1) Mission-unique group id.
Group id is limited because only 24 bit integer can be stored in 32 bit float.
*/
'GROUP_START' = 301,
/**
* Define end of a group of mission items. When control reaches this command a GROUP_END message is
* emitted. The start of the group is marked is marked using MAV_CMD_GROUP_START with the same group
* id. Group ids are expected, but not required, to iterate sequentially. Groups can be nested.
* @param1 Group ID (min: 0, max: 16777216, increment: 1) Mission-unique group id.
Group id is limited because only 24 bit integer can be stored in 32 bit float.
*/
'GROUP_END' = 302,
/**
* Enable the specified standard MAVLink mode. If the mode is not supported the vehicle should ACK with
* MAV_RESULT_FAILED.
* @param1 Standard Mode The mode to set.
*/
'DO_SET_STANDARD_MODE' = 262,
/**
* Allows setting an AT S command of an SiK radio.
* @param1 Radio instance The radio instance, one-based, 0 for all.
* @param2 Index The Sx index, e.g. 3 for S3 which is NETID.
* @param3 Value The value to set it to, e.g. default 25 for NETID
*/
'SET_AT_S_PARAM' = 550
}
/**
* These flags indicate the sensor reporting capabilities for TARGET_ABSOLUTE.
*/
export declare enum TargetAbsoluteSensorCapabilityFlags {
'POSITION' = 1,
'VELOCITY' = 2,
'ACCELERATION' = 4,
'ATTITUDE' = 8,
'RATES' = 16
}
/**
* The frame of a target observation from an onboard sensor.
*/
export declare enum TargetObsFrame {
/**
* NED local tangent frame (x: North, y: East, z: Down) with origin fixed relative to earth.
*/
'LOCAL_NED' = 0,
/**
* FRD local frame aligned to the vehicle's attitude (x: Forward, y: Right, z: Down) with an origin
* that travels with vehicle.
*/
'BODY_FRD' = 1,
/**
* NED local tangent frame (x: North, y: East, z: Down) with an origin that travels with vehicle.
*/
'LOCAL_OFFSET_NED' = 2,
/**
* Other sensor frame for target observations neither in local NED nor in body FRD.
*/
'OTHER' = 3
}
/**
* Response from a PARAM_SET message when it is used in a transaction.
*/
export declare class ParamAckTransaction extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Id of system that sent PARAM_SET message.
*/
targetSystem: uint8_t;
/**
* Id of system that sent PARAM_SET message.
*/
targetComponent: uint8_t;
/**
* Parameter id, terminated by NULL if the length is less than 16 human-readable chars and WITHOUT null
* termination (NULL) byte if the length is exactly 16 chars - applications have to provide 16+1 bytes
* storage if the ID is stored as string
*/
paramId: string;
/**
* Parameter value (new value if PARAM_ACCEPTED, current value otherwise)
*/
paramValue: float;
/**
* Parameter type.
*/
paramType: MavParamType;
/**
* Result code.
*/
paramResult: ParamAck;
}
/**
* Airspeed information from a sensor.
*/
export declare class Airspeed extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Sensor ID.
*/
id: uint8_t;
/**
* Calibrated airspeed (CAS).
* Units: m/s
*/
airspeed: float;
/**
* Temperature. INT16_MAX for value unknown/not supplied.
* Units: cdegC
*/
temperature: int16_t;
/**
* Raw differential pressure. NaN for value unknown/not supplied.
* Units: hPa
*/
rawPress: float;
/**
* Airspeed sensor flags.
*/
flags: AirspeedSensorFlags;
}
/**
* Detected WiFi network status information. This message is sent per each WiFi network detected in
* range with known SSID and general status parameters.
*/
export declare class WifiNetworkInfo extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Name of Wi-Fi network (SSID).
*/
ssid: string;
/**
* WiFi network operating channel ID. Set to 0 if unknown or unidentified.
*/
channelId: uint8_t;
/**
* WiFi network signal quality.
* Units: %
*/
signalQuality: uint8_t;
/**
* WiFi network data rate. Set to UINT16_MAX if data_rate information is not supplied.
* Units: MiB/s
*/
dataRate: uint16_t;
/**
* WiFi network security type.
*/
security: WifiNetworkSecurity;
}
/**
* Battery dynamic information. This should be streamed (nominally at 1Hz). Static/invariant battery
* information is sent in SMART_BATTERY_INFO. Note that smart batteries should set the
* MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL bit to indicate that supplied capacity values are
* relative to a battery that is known to be full. Power monitors would not set this bit, indicating
* that capacity_consumed is relative to drone power-on, and that other values are estimated based on
* the assumption that the battery was full on power-on.
*/
export declare class BatteryStatusV2 extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Battery ID
*/
id: uint8_t;
/**
* Temperature of the whole battery pack (not internal electronics). INT16_MAX field not provided.
* Units: cdegC
*/
temperature: int16_t;
/**
* Battery voltage (total). NaN: field not provided.
* Units: V
*/
voltage: float;
/**
* Battery current (through all cells/loads). Positive value when discharging and negative if charging.
* NaN: field not provided.
* Units: A
*/
current: float;
/**
* Consumed charge. NaN: field not provided. This is either the consumption since power-on or since the
* battery was full, depending on the value of MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL.
* Units: Ah
*/
capacityConsumed: float;
/**
* Remaining charge (until empty). UINT32_MAX: field not provided. Note: If
* MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL is unset, this value is based on the assumption
* the battery was full when the system was powered.
* Units: Ah
*/
capacityRemaining: float;
/**
* Remaining battery energy. Values: [0-100], UINT8_MAX: field not provided.
* Units: %
*/
percentRemaining: uint8_t;
/**
* Fault, health, readiness, and other status indications.
*/
statusFlags: MavBatteryStatusFlags;
}
/**
* Basic component information data. Should be requested using MAV_CMD_REQUEST_MESSAGE on startup, or
* when required.
*/
export declare class ComponentInformationBasic extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Timestamp (time since system boot).
* Units: ms
*/
timeBootMs: uint32_t;
/**
* Component capability flags
*/
capabilities: MavProtocolCapability;
/**
* Name of the component vendor. Needs to be zero terminated. The field is optional and can be
* empty/all zeros.
*/
vendorName: string;
/**
* Name of the component model. Needs to be zero terminated. The field is optional and can be empty/all
* zeros.
*/
modelName: string;
/**
* Software version. The recommended format is SEMVER: 'major.minor.patch' (any format may be used).
* The field must be zero terminated if it has a value. The field is optional and can be empty/all
* zeros.
*/
softwareVersion: string;
/**
* Hardware version. The recommended format is SEMVER: 'major.minor.patch' (any format may be used).
* The field must be zero terminated if it has a value. The field is optional and can be empty/all
* zeros.
*/
hardwareVersion: string;
/**
* Hardware serial number. The field must be zero terminated if it has a value. The field is optional
* and can be empty/all zeros.
*/
serialNumber: string;
}
/**
* Emitted during mission execution when control reaches MAV_CMD_GROUP_START.
*/
export declare class GroupStart extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Mission-unique group id (from MAV_CMD_GROUP_START).
*/
groupId: uint32_t;
/**
* CRC32 checksum of current plan for MAV_MISSION_TYPE_ALL. As defined in MISSION_CHECKSUM message.
*/
missionChecksum: uint32_t;
/**
* Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format
* (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
* Units: us
*/
timeUsec: uint64_t;
}
/**
* Emitted during mission execution when control reaches MAV_CMD_GROUP_END.
*/
export declare class GroupEnd extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Mission-unique group id (from MAV_CMD_GROUP_END).
*/
groupId: uint32_t;
/**
* CRC32 checksum of current plan for MAV_MISSION_TYPE_ALL. As defined in MISSION_CHECKSUM message.
*/
missionChecksum: uint32_t;
/**
* Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format
* (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
* Units: us
*/
timeUsec: uint64_t;
}
/**
* Get information about a particular flight modes. The message can be enumerated or requested for a
* particular mode using MAV_CMD_REQUEST_MESSAGE. Specify 0 in param2 to request that the message is
* emitted for all available modes or the specific index for just one mode. The modes must be
* available/settable for the current vehicle/frame type. Each modes should only be emitted once (even
* if it is both standard and custom).
*/
export declare class AvailableModes extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* The total number of available modes for the current vehicle type.
*/
numberModes: uint8_t;
/**
* The current mode index within number_modes, indexed from 1.
*/
modeIndex: uint8_t;
/**
* Standard mode.
*/
standardMode: MavStandardMode;
/**
* A bitfield for use for autopilot-specific flags
*/
customMode: uint32_t;
/**
* Mode properties.
*/
properties: MavModeProperty;
/**
* Name of custom mode, with null termination character. Should be omitted for standard modes.
*/
modeName: string;
}
/**
* Get the current mode. This should be emitted on any mode change, and broadcast at low rate
* (nominally 0.5 Hz). It may be requested using MAV_CMD_REQUEST_MESSAGE.
*/
export declare class CurrentMode extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Standard mode.
*/
standardMode: MavStandardMode;
/**
* A bitfield for use for autopilot-specific flags
*/
customMode: uint32_t;
/**
* The custom_mode of the mode that was last commanded by the user (for example, with
* MAV_CMD_DO_SET_STANDARD_MODE, MAV_CMD_DO_SET_MODE or via RC). This should usually be the same as
* custom_mode. It will be different if the vehicle is unable to enter the intended mode, or has left
* that mode due to a failsafe condition. 0 indicates the intended custom mode is unknown/not supplied
*/
intendedCustomMode: uint32_t;
}
/**
* A change to the sequence number indicates that the set of AVAILABLE_MODES has changed. A receiver
* must re-request all available modes whenever the sequence number changes. This is only emitted after
* the first change and should then be broadcast at low rate (nominally 0.3 Hz) and on change.
*/
export declare class AvailableModesMonitor extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Sequence number. The value iterates sequentially whenever AVAILABLE_MODES changes (e.g. support for
* a new mode is added/removed dynamically).
*/
seq: uint8_t;
}
/**
* Current motion information from sensors on a target
*/
export declare class TargetAbsolute extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Timestamp (UNIX epoch time).
* Units: us
*/
timestamp: uint64_t;
/**
* The ID of the target if multiple targets are present
*/
id: uint8_t;
/**
* Bitmap to indicate the sensor's reporting capabilities
*/
sensorCapabilities: TargetAbsoluteSensorCapabilityFlags;
/**
* Target's latitude (WGS84)
* Units: degE7
*/
lat: int32_t;
/**
* Target's longitude (WGS84)
* Units: degE7
*/
lon: int32_t;
/**
* Target's altitude (AMSL)
* Units: m
*/
alt: float;
/**
* Target's velocity in its body frame
* Units: m/s
*/
vel: float[];
/**
* Linear target's acceleration in its body frame
* Units: m/s/s
*/
acc: float[];
/**
* Quaternion of the target's orientation from its body frame to the vehicle's NED frame.
*/
qTarget: float[];
/**
* Target's roll, pitch and yaw rates
* Units: rad/s
*/
rates: float[];
/**
* Standard deviation of horizontal (eph) and vertical (epv) position errors
* Units: m
*/
positionStd: float[];
/**
* Standard deviation of the target's velocity in its body frame
* Units: m/s
*/
velStd: float[];
/**
* Standard deviation of the target's acceleration in its body frame
* Units: m/s/s
*/
accStd: float[];
}
/**
* The location of a target measured by MAV's onboard sensors.
*/
export declare class TargetRelative extends MavLinkData {
static MSG_ID: number;
static MSG_NAME: string;
static PAYLOAD_LENGTH: number;
static MAGIC_NUMBER: number;
static FIELDS: MavLinkPacketField[];
constructor();
/**
* Timestamp (UNIX epoch time)
* Units: us
*/
timestamp: uint64_t;
/**
* The ID of the target if multiple targets are present
*/
id: uint8_t;
/**
* Coordinate frame used for following fields.
*/
frame: TargetObsFrame;
/**
* X Position of the target in TARGET_OBS_FRAME
* Units: m
*/
x: float;
/**
* Y Position of the target in TARGET_OBS_FRAME
* Units: m
*/
y: float;
/**
* Z Position of the target in TARGET_OBS_FRAME
* Units: m
*/
z: float;
/**
* Standard deviation of the target's position in TARGET_OBS_FRAME
* Units: m
*/
posStd: float[];
/**
* Standard deviation of the target's orientation in TARGET_OBS_FRAME
* Units: rad
*/
yawStd: float;
/**
* Quaternion of the target's orientation from the target's frame to the TARGET_OBS_FRAME (w, x, y, z
* order, zero-rotation is 1, 0, 0, 0)
*/
qTarget: float[];
/**
* Quaternion of the sensor's orientation from TARGET_OBS_FRAME to vehicle-carried NED. (Ignored if set
* to (0,0,0,0)) (w, x, y, z order, zero-rotation is 1, 0, 0, 0)
*/
qSensor: float[];
/**
* Type of target
*/
type: LandingTargetType;
}
import { CommandLong } from './common';
/**
* Fly a figure eight path as defined by the parameters. Set parameters to NaN/INT32_MAX (as
* appropriate) to use system-default values. The command is intended for fixed wing vehicles (and VTOL
* hybrids flying in fixed-wing mode), allowing POI tracking for gimbals that don't support infinite
* rotation. This command only defines the flight path. Speed should be set independently (use e.g.
* MAV_CMD_DO_CHANGE_SPEED). Yaw and other degrees of freedom are not specified, and will be
* flight-stack specific (on vehicles where they can be controlled independent of the heading).
*
* This command has location.
* This command is destination.
*/
export declare class DoFigureEightCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* Major axis radius of the figure eight. Positive: orbit the north circle clockwise. Negative: orbit
* the north circle counter-clockwise. NaN: The radius will be set to 2.5 times the minor radius and
* direction is clockwise. Must be greater or equal to two times the minor radius for feasible values.
*
* @units m
*/
get majorRadius(): number;
set majorRadius(value: number);
/**
* Minor axis radius of the figure eight. Defines the radius of the two circles that make up the
* figure. Negative value has no effect. NaN: The radius will be set to the default loiter radius.
*
* @units m
*/
get minorRadius(): number;
set minorRadius(value: number);
/**
* Orientation of the figure eight major axis with respect to true north (range: [-pi,pi]). NaN: use
* default orientation aligned to true north.
*
* @units rad
*/
get orientation(): number;
set orientation(value: number);
/**
* Center point latitude/X coordinate according to MAV_FRAME. If no MAV_FRAME specified,
* MAV_FRAME_GLOBAL is assumed. INT32_MAX or NaN: Use current vehicle position, or current center if
* already loitering.
*/
get latitude(): number;
set latitude(value: number);
/**
* Center point longitude/Y coordinate according to MAV_FRAME. If no MAV_FRAME specified,
* MAV_FRAME_GLOBAL is assumed. INT32_MAX or NaN: Use current vehicle position, or current center if
* already loitering.
*/
get longitude(): number;
set longitude(value: number);
/**
* Center point altitude MSL/Z coordinate according to MAV_FRAME. If no MAV_FRAME specified,
* MAV_FRAME_GLOBAL is assumed. INT32_MAX or NaN: Use current vehicle altitude.
*/
get altitude(): number;
set altitude(value: number);
}
/**
* Request to start or end a parameter transaction. Multiple kinds of transport layers can be used to
* exchange parameters in the transaction (param, param_ext and mavftp). The command response can
* either be a success/failure or an in progress in case the receiving side takes some time to apply
* the parameters.
*/
export declare class ParamTransactionCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* Action to be performed (start, commit, cancel, etc.)
*/
get action(): number;
set action(value: number);
/**
* Possible transport layers to set and get parameters via mavlink during a parameter transaction.
*/
get transport(): number;
set transport(value: number);
/**
* Identifier for a specific transaction.
*/
get transactionId(): number;
set transactionId(value: number);
}
/**
* Request a target system to start an upgrade of one (or all) of its components. For example, the
* command might be sent to a companion computer to cause it to upgrade a connected flight controller.
* The system doing the upgrade will report progress using the normal command protocol sequence for a
* long running operation. Command protocol information: https://mavlink.io/en/services/command.html.
*/
export declare class DoUpgradeCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* Component id of the component to be upgraded. If set to 0, all components should be upgraded.
*/
get componentId(): number;
set componentId(value: number);
/**
* 0: Do not reboot component after the action is executed, 1: Reboot component after the action is
* executed.
*
* @min: 0
* @max: 1
* @increment: 1
*/
get reboot(): number;
set reboot(value: number);
}
/**
* Define start of a group of mission items. When control reaches this command a GROUP_START message is
* emitted. The end of a group is marked using MAV_CMD_GROUP_END with the same group id. Group ids are
* expected, but not required, to iterate sequentially. Groups can be nested.
*/
export declare class GroupStartCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* Mission-unique group id. Group id is limited because only 24 bit integer can be stored in 32 bit
* float.
*
* @min: 0
* @max: 16777216
* @increment: 1
*/
get groupId(): number;
set groupId(value: number);
}
/**
* Define end of a group of mission items. When control reaches this command a GROUP_END message is
* emitted. The start of the group is marked is marked using MAV_CMD_GROUP_START with the same group
* id. Group ids are expected, but not required, to iterate sequentially. Groups can be nested.
*/
export declare class GroupEndCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* Mission-unique group id. Group id is limited because only 24 bit integer can be stored in 32 bit
* float.
*
* @min: 0
* @max: 16777216
* @increment: 1
*/
get groupId(): number;
set groupId(value: number);
}
/**
* Enable the specified standard MAVLink mode. If the mode is not supported the vehicle should ACK with
* MAV_RESULT_FAILED.
*/
export declare class DoSetStandardModeCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* The mode to set.
*/
get standardMode(): number;
set standardMode(value: number);
}
/**
* Allows setting an AT S command of an SiK radio.
*/
export declare class SetAtSParamCommand extends CommandLong {
constructor(targetSystem?: number, targetComponent?: number);
/**
* The radio instance, one-based, 0 for all.
*/
get radioInstance(): number;
set radioInstance(value: number);
/**
* The Sx index, e.g. 3 for S3 which is NETID.
*/
get index(): number;
set index(value: number);
/**
* The value to set it to, e.g. default 25 for NETID
*/
get value(): number;
set value(value: number);
}
export declare const REGISTRY: MavLinkPacketRegistry;
export declare const COMMANDS: MavLinkCommandRegistry;