UNPKG

mavlink-mappings

Version:
1,067 lines (1,066 loc) 40.2 kB
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;