UNPKG

mavlink-mappings

Version:
1,087 lines 42.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.REGISTRY = exports.Heartbeat = exports.MavComponent = exports.MavState = exports.MavModeFlagDecodePosition = exports.MavModeFlag = exports.MavType = exports.MavAutopilot = void 0; const mavlink_1 = require("./mavlink"); /** * Micro air vehicle / autopilot classes. This identifies the individual model. */ var MavAutopilot; (function (MavAutopilot) { /** * Generic autopilot, full support for everything */ MavAutopilot[MavAutopilot["GENERIC"] = 0] = "GENERIC"; /** * Reserved for future use. */ MavAutopilot[MavAutopilot["RESERVED"] = 1] = "RESERVED"; /** * SLUGS autopilot, http://slugsuav.soe.ucsc.edu */ MavAutopilot[MavAutopilot["SLUGS"] = 2] = "SLUGS"; /** * ArduPilot - Plane/Copter/Rover/Sub/Tracker, https://ardupilot.org */ MavAutopilot[MavAutopilot["ARDUPILOTMEGA"] = 3] = "ARDUPILOTMEGA"; /** * OpenPilot, http://openpilot.org */ MavAutopilot[MavAutopilot["OPENPILOT"] = 4] = "OPENPILOT"; /** * Generic autopilot only supporting simple waypoints */ MavAutopilot[MavAutopilot["GENERIC_WAYPOINTS_ONLY"] = 5] = "GENERIC_WAYPOINTS_ONLY"; /** * Generic autopilot supporting waypoints and other simple navigation commands */ MavAutopilot[MavAutopilot["GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY"] = 6] = "GENERIC_WAYPOINTS_AND_SIMPLE_NAVIGATION_ONLY"; /** * Generic autopilot supporting the full mission command set */ MavAutopilot[MavAutopilot["GENERIC_MISSION_FULL"] = 7] = "GENERIC_MISSION_FULL"; /** * No valid autopilot, e.g. a GCS or other MAVLink component */ MavAutopilot[MavAutopilot["INVALID"] = 8] = "INVALID"; /** * PPZ UAV - http://nongnu.org/paparazzi */ MavAutopilot[MavAutopilot["PPZ"] = 9] = "PPZ"; /** * UAV Dev Board */ MavAutopilot[MavAutopilot["UDB"] = 10] = "UDB"; /** * FlexiPilot */ MavAutopilot[MavAutopilot["FP"] = 11] = "FP"; /** * PX4 Autopilot - http://px4.io/ */ MavAutopilot[MavAutopilot["PX4"] = 12] = "PX4"; /** * SMACCMPilot - http://smaccmpilot.org */ MavAutopilot[MavAutopilot["SMACCMPILOT"] = 13] = "SMACCMPILOT"; /** * AutoQuad -- http://autoquad.org */ MavAutopilot[MavAutopilot["AUTOQUAD"] = 14] = "AUTOQUAD"; /** * Armazila -- http://armazila.com */ MavAutopilot[MavAutopilot["ARMAZILA"] = 15] = "ARMAZILA"; /** * Aerob -- http://aerob.ru */ MavAutopilot[MavAutopilot["AEROB"] = 16] = "AEROB"; /** * ASLUAV autopilot -- http://www.asl.ethz.ch */ MavAutopilot[MavAutopilot["ASLUAV"] = 17] = "ASLUAV"; /** * SmartAP Autopilot - http://sky-drones.com */ MavAutopilot[MavAutopilot["SMARTAP"] = 18] = "SMARTAP"; /** * AirRails - http://uaventure.com */ MavAutopilot[MavAutopilot["AIRRAILS"] = 19] = "AIRRAILS"; /** * Fusion Reflex - https://fusion.engineering */ MavAutopilot[MavAutopilot["REFLEX"] = 20] = "REFLEX"; })(MavAutopilot = exports.MavAutopilot || (exports.MavAutopilot = {})); /** * MAVLINK component type reported in HEARTBEAT message. Flight controllers must report the type of the * vehicle on which they are mounted (e.g. MAV_TYPE_OCTOROTOR). All other components must report a * value appropriate for their type (e.g. a camera must use MAV_TYPE_CAMERA). */ var MavType; (function (MavType) { /** * Generic micro air vehicle */ MavType[MavType["GENERIC"] = 0] = "GENERIC"; /** * Fixed wing aircraft. */ MavType[MavType["FIXED_WING"] = 1] = "FIXED_WING"; /** * Quadrotor */ MavType[MavType["QUADROTOR"] = 2] = "QUADROTOR"; /** * Coaxial helicopter */ MavType[MavType["COAXIAL"] = 3] = "COAXIAL"; /** * Normal helicopter with tail rotor. */ MavType[MavType["HELICOPTER"] = 4] = "HELICOPTER"; /** * Ground installation */ MavType[MavType["ANTENNA_TRACKER"] = 5] = "ANTENNA_TRACKER"; /** * Operator control unit / ground control station */ MavType[MavType["GCS"] = 6] = "GCS"; /** * Airship, controlled */ MavType[MavType["AIRSHIP"] = 7] = "AIRSHIP"; /** * Free balloon, uncontrolled */ MavType[MavType["FREE_BALLOON"] = 8] = "FREE_BALLOON"; /** * Rocket */ MavType[MavType["ROCKET"] = 9] = "ROCKET"; /** * Ground rover */ MavType[MavType["GROUND_ROVER"] = 10] = "GROUND_ROVER"; /** * Surface vessel, boat, ship */ MavType[MavType["SURFACE_BOAT"] = 11] = "SURFACE_BOAT"; /** * Submarine */ MavType[MavType["SUBMARINE"] = 12] = "SUBMARINE"; /** * Hexarotor */ MavType[MavType["HEXAROTOR"] = 13] = "HEXAROTOR"; /** * Octorotor */ MavType[MavType["OCTOROTOR"] = 14] = "OCTOROTOR"; /** * Tricopter */ MavType[MavType["TRICOPTER"] = 15] = "TRICOPTER"; /** * Flapping wing */ MavType[MavType["FLAPPING_WING"] = 16] = "FLAPPING_WING"; /** * Kite */ MavType[MavType["KITE"] = 17] = "KITE"; /** * Onboard companion controller */ MavType[MavType["ONBOARD_CONTROLLER"] = 18] = "ONBOARD_CONTROLLER"; /** * Two-rotor Tailsitter VTOL that additionally uses control surfaces in vertical operation. Note, value * previously named MAV_TYPE_VTOL_DUOROTOR. */ MavType[MavType["VTOL_TAILSITTER_DUOROTOR"] = 19] = "VTOL_TAILSITTER_DUOROTOR"; /** * Quad-rotor Tailsitter VTOL using a V-shaped quad config in vertical operation. Note: value * previously named MAV_TYPE_VTOL_QUADROTOR. */ MavType[MavType["VTOL_TAILSITTER_QUADROTOR"] = 20] = "VTOL_TAILSITTER_QUADROTOR"; /** * Tiltrotor VTOL. Fuselage and wings stay (nominally) horizontal in all flight phases. It able to tilt * (some) rotors to provide thrust in cruise flight. */ MavType[MavType["VTOL_TILTROTOR"] = 21] = "VTOL_TILTROTOR"; /** * VTOL with separate fixed rotors for hover and cruise flight. Fuselage and wings stay (nominally) * horizontal in all flight phases. */ MavType[MavType["VTOL_FIXEDROTOR"] = 22] = "VTOL_FIXEDROTOR"; /** * Tailsitter VTOL. Fuselage and wings orientation changes depending on flight phase: vertical for * hover, horizontal for cruise. Use more specific VTOL MAV_TYPE_VTOL_TAILSITTER_DUOROTOR or * MAV_TYPE_VTOL_TAILSITTER_QUADROTOR if appropriate. */ MavType[MavType["VTOL_TAILSITTER"] = 23] = "VTOL_TAILSITTER"; /** * Tiltwing VTOL. Fuselage stays horizontal in all flight phases. The whole wing, along with any * attached engine, can tilt between vertical and horizontal mode. */ MavType[MavType["VTOL_TILTWING"] = 24] = "VTOL_TILTWING"; /** * VTOL reserved 5 */ MavType[MavType["VTOL_RESERVED5"] = 25] = "VTOL_RESERVED5"; /** * Gimbal */ MavType[MavType["GIMBAL"] = 26] = "GIMBAL"; /** * ADSB system */ MavType[MavType["ADSB"] = 27] = "ADSB"; /** * Steerable, nonrigid airfoil */ MavType[MavType["PARAFOIL"] = 28] = "PARAFOIL"; /** * Dodecarotor */ MavType[MavType["DODECAROTOR"] = 29] = "DODECAROTOR"; /** * Camera */ MavType[MavType["CAMERA"] = 30] = "CAMERA"; /** * Charging station */ MavType[MavType["CHARGING_STATION"] = 31] = "CHARGING_STATION"; /** * FLARM collision avoidance system */ MavType[MavType["FLARM"] = 32] = "FLARM"; /** * Servo */ MavType[MavType["SERVO"] = 33] = "SERVO"; /** * Open Drone ID. See https://mavlink.io/en/services/opendroneid.html. */ MavType[MavType["ODID"] = 34] = "ODID"; /** * Decarotor */ MavType[MavType["DECAROTOR"] = 35] = "DECAROTOR"; /** * Battery */ MavType[MavType["BATTERY"] = 36] = "BATTERY"; /** * Parachute */ MavType[MavType["PARACHUTE"] = 37] = "PARACHUTE"; /** * Log */ MavType[MavType["LOG"] = 38] = "LOG"; /** * OSD */ MavType[MavType["OSD"] = 39] = "OSD"; /** * IMU */ MavType[MavType["IMU"] = 40] = "IMU"; /** * GPS */ MavType[MavType["GPS"] = 41] = "GPS"; /** * Winch */ MavType[MavType["WINCH"] = 42] = "WINCH"; /** * Generic multirotor that does not fit into a specific type or whose type is unknown */ MavType[MavType["GENERIC_MULTIROTOR"] = 43] = "GENERIC_MULTIROTOR"; })(MavType = exports.MavType || (exports.MavType = {})); /** * These flags encode the MAV mode. */ var MavModeFlag; (function (MavModeFlag) { /** * 0b10000000 MAV safety set to armed. Motors are enabled / running / can start. Ready to fly. * Additional note: this flag is to be ignore when sent in the command MAV_CMD_DO_SET_MODE and * MAV_CMD_COMPONENT_ARM_DISARM shall be used instead. The flag can still be used to report the armed * state. */ MavModeFlag[MavModeFlag["SAFETY_ARMED"] = 128] = "SAFETY_ARMED"; /** * 0b01000000 remote control input is enabled. */ MavModeFlag[MavModeFlag["MANUAL_INPUT_ENABLED"] = 64] = "MANUAL_INPUT_ENABLED"; /** * 0b00100000 hardware in the loop simulation. All motors / actuators are blocked, but internal * software is full operational. */ MavModeFlag[MavModeFlag["HIL_ENABLED"] = 32] = "HIL_ENABLED"; /** * 0b00010000 system stabilizes electronically its attitude (and optionally position). It needs however * further control inputs to move around. */ MavModeFlag[MavModeFlag["STABILIZE_ENABLED"] = 16] = "STABILIZE_ENABLED"; /** * 0b00001000 guided mode enabled, system flies waypoints / mission items. */ MavModeFlag[MavModeFlag["GUIDED_ENABLED"] = 8] = "GUIDED_ENABLED"; /** * 0b00000100 autonomous mode enabled, system finds its own goal positions. Guided flag can be set or * not, depends on the actual implementation. */ MavModeFlag[MavModeFlag["AUTO_ENABLED"] = 4] = "AUTO_ENABLED"; /** * 0b00000010 system has a test mode enabled. This flag is intended for temporary system tests and * should not be used for stable implementations. */ MavModeFlag[MavModeFlag["TEST_ENABLED"] = 2] = "TEST_ENABLED"; /** * 0b00000001 Reserved for future use. */ MavModeFlag[MavModeFlag["CUSTOM_MODE_ENABLED"] = 1] = "CUSTOM_MODE_ENABLED"; })(MavModeFlag = exports.MavModeFlag || (exports.MavModeFlag = {})); /** * These values encode the bit positions of the decode position. These values can be used to read the * value of a flag bit by combining the base_mode variable with AND with the flag position value. The * result will be either 0 or 1, depending on if the flag is set or not. */ var MavModeFlagDecodePosition; (function (MavModeFlagDecodePosition) { /** * First bit: 10000000 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["SAFETY"] = 128] = "SAFETY"; /** * Second bit: 01000000 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["MANUAL"] = 64] = "MANUAL"; /** * Third bit: 00100000 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["HIL"] = 32] = "HIL"; /** * Fourth bit: 00010000 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["STABILIZE"] = 16] = "STABILIZE"; /** * Fifth bit: 00001000 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["GUIDED"] = 8] = "GUIDED"; /** * Sixth bit: 00000100 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["AUTO"] = 4] = "AUTO"; /** * Seventh bit: 00000010 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["TEST"] = 2] = "TEST"; /** * Eighth bit: 00000001 */ MavModeFlagDecodePosition[MavModeFlagDecodePosition["CUSTOM_MODE"] = 1] = "CUSTOM_MODE"; })(MavModeFlagDecodePosition = exports.MavModeFlagDecodePosition || (exports.MavModeFlagDecodePosition = {})); /** * MAV_STATE */ var MavState; (function (MavState) { /** * Uninitialized system, state is unknown. */ MavState[MavState["UNINIT"] = 0] = "UNINIT"; /** * System is booting up. */ MavState[MavState["BOOT"] = 1] = "BOOT"; /** * System is calibrating and not flight-ready. */ MavState[MavState["CALIBRATING"] = 2] = "CALIBRATING"; /** * System is grounded and on standby. It can be launched any time. */ MavState[MavState["STANDBY"] = 3] = "STANDBY"; /** * System is active and might be already airborne. Motors are engaged. */ MavState[MavState["ACTIVE"] = 4] = "ACTIVE"; /** * System is in a non-normal flight mode (failsafe). It can however still navigate. */ MavState[MavState["CRITICAL"] = 5] = "CRITICAL"; /** * System is in a non-normal flight mode (failsafe). It lost control over parts or over the whole * airframe. It is in mayday and going down. */ MavState[MavState["EMERGENCY"] = 6] = "EMERGENCY"; /** * System just initialized its power-down sequence, will shut down now. */ MavState[MavState["POWEROFF"] = 7] = "POWEROFF"; /** * System is terminating itself (failsafe or commanded). */ MavState[MavState["FLIGHT_TERMINATION"] = 8] = "FLIGHT_TERMINATION"; })(MavState = exports.MavState || (exports.MavState = {})); /** * Component ids (values) for the different types and instances of onboard hardware/software that might * make up a MAVLink system (autopilot, cameras, servos, GPS systems, avoidance systems etc.). * Components must use the appropriate ID in their source address when sending messages. Components can * also use IDs to determine if they are the intended recipient of an incoming message. The * MAV_COMP_ID_ALL value is used to indicate messages that must be processed by all components. When * creating new entries, components that can have multiple instances (e.g. cameras, servos etc.) should * be allocated sequential values. An appropriate number of values should be left free after these * components to allow the number of instances to be expanded. */ var MavComponent; (function (MavComponent) { /** * Target id (target_component) used to broadcast messages to all components of the receiving system. * Components should attempt to process messages with this component ID and forward to components on * any other interfaces. Note: This is not a valid *source* component id for a message. */ MavComponent[MavComponent["ALL"] = 0] = "ALL"; /** * System flight controller component ("autopilot"). Only one autopilot is expected in a particular * system. */ MavComponent[MavComponent["AUTOPILOT1"] = 1] = "AUTOPILOT1"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER1"] = 25] = "USER1"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER2"] = 26] = "USER2"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER3"] = 27] = "USER3"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER4"] = 28] = "USER4"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER5"] = 29] = "USER5"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER6"] = 30] = "USER6"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER7"] = 31] = "USER7"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER8"] = 32] = "USER8"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER9"] = 33] = "USER9"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER10"] = 34] = "USER10"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER11"] = 35] = "USER11"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER12"] = 36] = "USER12"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER13"] = 37] = "USER13"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER14"] = 38] = "USER14"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER15"] = 39] = "USER15"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER16"] = 40] = "USER16"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER17"] = 41] = "USER17"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER18"] = 42] = "USER18"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER19"] = 43] = "USER19"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER20"] = 44] = "USER20"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER21"] = 45] = "USER21"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER22"] = 46] = "USER22"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER23"] = 47] = "USER23"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER24"] = 48] = "USER24"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER25"] = 49] = "USER25"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER26"] = 50] = "USER26"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER27"] = 51] = "USER27"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER28"] = 52] = "USER28"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER29"] = 53] = "USER29"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER30"] = 54] = "USER30"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER31"] = 55] = "USER31"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER32"] = 56] = "USER32"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER33"] = 57] = "USER33"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER34"] = 58] = "USER34"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER35"] = 59] = "USER35"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER36"] = 60] = "USER36"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER37"] = 61] = "USER37"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER38"] = 62] = "USER38"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER39"] = 63] = "USER39"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER40"] = 64] = "USER40"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER41"] = 65] = "USER41"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER42"] = 66] = "USER42"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER43"] = 67] = "USER43"; /** * Telemetry radio (e.g. SiK radio, or other component that emits RADIO_STATUS messages). */ MavComponent[MavComponent["TELEMETRY_RADIO"] = 68] = "TELEMETRY_RADIO"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER45"] = 69] = "USER45"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER46"] = 70] = "USER46"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER47"] = 71] = "USER47"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER48"] = 72] = "USER48"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER49"] = 73] = "USER49"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER50"] = 74] = "USER50"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER51"] = 75] = "USER51"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER52"] = 76] = "USER52"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER53"] = 77] = "USER53"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER54"] = 78] = "USER54"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER55"] = 79] = "USER55"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER56"] = 80] = "USER56"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER57"] = 81] = "USER57"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER58"] = 82] = "USER58"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER59"] = 83] = "USER59"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER60"] = 84] = "USER60"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER61"] = 85] = "USER61"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER62"] = 86] = "USER62"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER63"] = 87] = "USER63"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER64"] = 88] = "USER64"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER65"] = 89] = "USER65"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER66"] = 90] = "USER66"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER67"] = 91] = "USER67"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER68"] = 92] = "USER68"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER69"] = 93] = "USER69"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER70"] = 94] = "USER70"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER71"] = 95] = "USER71"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER72"] = 96] = "USER72"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER73"] = 97] = "USER73"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER74"] = 98] = "USER74"; /** * Id for a component on privately managed MAVLink network. Can be used for any purpose but may not be * published by components outside of the private network. */ MavComponent[MavComponent["USER75"] = 99] = "USER75"; /** * Camera #1. */ MavComponent[MavComponent["CAMERA"] = 100] = "CAMERA"; /** * Camera #2. */ MavComponent[MavComponent["CAMERA2"] = 101] = "CAMERA2"; /** * Camera #3. */ MavComponent[MavComponent["CAMERA3"] = 102] = "CAMERA3"; /** * Camera #4. */ MavComponent[MavComponent["CAMERA4"] = 103] = "CAMERA4"; /** * Camera #5. */ MavComponent[MavComponent["CAMERA5"] = 104] = "CAMERA5"; /** * Camera #6. */ MavComponent[MavComponent["CAMERA6"] = 105] = "CAMERA6"; /** * Servo #1. */ MavComponent[MavComponent["SERVO1"] = 140] = "SERVO1"; /** * Servo #2. */ MavComponent[MavComponent["SERVO2"] = 141] = "SERVO2"; /** * Servo #3. */ MavComponent[MavComponent["SERVO3"] = 142] = "SERVO3"; /** * Servo #4. */ MavComponent[MavComponent["SERVO4"] = 143] = "SERVO4"; /** * Servo #5. */ MavComponent[MavComponent["SERVO5"] = 144] = "SERVO5"; /** * Servo #6. */ MavComponent[MavComponent["SERVO6"] = 145] = "SERVO6"; /** * Servo #7. */ MavComponent[MavComponent["SERVO7"] = 146] = "SERVO7"; /** * Servo #8. */ MavComponent[MavComponent["SERVO8"] = 147] = "SERVO8"; /** * Servo #9. */ MavComponent[MavComponent["SERVO9"] = 148] = "SERVO9"; /** * Servo #10. */ MavComponent[MavComponent["SERVO10"] = 149] = "SERVO10"; /** * Servo #11. */ MavComponent[MavComponent["SERVO11"] = 150] = "SERVO11"; /** * Servo #12. */ MavComponent[MavComponent["SERVO12"] = 151] = "SERVO12"; /** * Servo #13. */ MavComponent[MavComponent["SERVO13"] = 152] = "SERVO13"; /** * Servo #14. */ MavComponent[MavComponent["SERVO14"] = 153] = "SERVO14"; /** * Gimbal #1. */ MavComponent[MavComponent["GIMBAL"] = 154] = "GIMBAL"; /** * Logging component. */ MavComponent[MavComponent["LOG"] = 155] = "LOG"; /** * Automatic Dependent Surveillance-Broadcast (ADS-B) component. */ MavComponent[MavComponent["ADSB"] = 156] = "ADSB"; /** * On Screen Display (OSD) devices for video links. */ MavComponent[MavComponent["OSD"] = 157] = "OSD"; /** * Generic autopilot peripheral component ID. Meant for devices that do not implement the parameter * microservice. */ MavComponent[MavComponent["PERIPHERAL"] = 158] = "PERIPHERAL"; /** * Gimbal ID for QX1. */ MavComponent[MavComponent["QX1_GIMBAL"] = 159] = "QX1_GIMBAL"; /** * FLARM collision alert component. */ MavComponent[MavComponent["FLARM"] = 160] = "FLARM"; /** * Parachute component. */ MavComponent[MavComponent["PARACHUTE"] = 161] = "PARACHUTE"; /** * Winch component. */ MavComponent[MavComponent["WINCH"] = 169] = "WINCH"; /** * Gimbal #2. */ MavComponent[MavComponent["GIMBAL2"] = 171] = "GIMBAL2"; /** * Gimbal #3. */ MavComponent[MavComponent["GIMBAL3"] = 172] = "GIMBAL3"; /** * Gimbal #4 */ MavComponent[MavComponent["GIMBAL4"] = 173] = "GIMBAL4"; /** * Gimbal #5. */ MavComponent[MavComponent["GIMBAL5"] = 174] = "GIMBAL5"; /** * Gimbal #6. */ MavComponent[MavComponent["GIMBAL6"] = 175] = "GIMBAL6"; /** * Battery #1. */ MavComponent[MavComponent["BATTERY"] = 180] = "BATTERY"; /** * Battery #2. */ MavComponent[MavComponent["BATTERY2"] = 181] = "BATTERY2"; /** * CAN over MAVLink client. */ MavComponent[MavComponent["MAVCAN"] = 189] = "MAVCAN"; /** * Component that can generate/supply a mission flight plan (e.g. GCS or developer API). */ MavComponent[MavComponent["MISSIONPLANNER"] = 190] = "MISSIONPLANNER"; /** * Component that lives on the onboard computer (companion computer) and has some generic * functionalities, such as settings system parameters and monitoring the status of some processes that * don't directly speak mavlink and so on. */ MavComponent[MavComponent["ONBOARD_COMPUTER"] = 191] = "ONBOARD_COMPUTER"; /** * Component that lives on the onboard computer (companion computer) and has some generic * functionalities, such as settings system parameters and monitoring the status of some processes that * don't directly speak mavlink and so on. */ MavComponent[MavComponent["ONBOARD_COMPUTER2"] = 192] = "ONBOARD_COMPUTER2"; /** * Component that lives on the onboard computer (companion computer) and has some generic * functionalities, such as settings system parameters and monitoring the status of some processes that * don't directly speak mavlink and so on. */ MavComponent[MavComponent["ONBOARD_COMPUTER3"] = 193] = "ONBOARD_COMPUTER3"; /** * Component that lives on the onboard computer (companion computer) and has some generic * functionalities, such as settings system parameters and monitoring the status of some processes that * don't directly speak mavlink and so on. */ MavComponent[MavComponent["ONBOARD_COMPUTER4"] = 194] = "ONBOARD_COMPUTER4"; /** * Component that finds an optimal path between points based on a certain constraint (e.g. minimum * snap, shortest path, cost, etc.). */ MavComponent[MavComponent["PATHPLANNER"] = 195] = "PATHPLANNER"; /** * Component that plans a collision free path between two points. */ MavComponent[MavComponent["OBSTACLE_AVOIDANCE"] = 196] = "OBSTACLE_AVOIDANCE"; /** * Component that provides position estimates using VIO techniques. */ MavComponent[MavComponent["VISUAL_INERTIAL_ODOMETRY"] = 197] = "VISUAL_INERTIAL_ODOMETRY"; /** * Component that manages pairing of vehicle and GCS. */ MavComponent[MavComponent["PAIRING_MANAGER"] = 198] = "PAIRING_MANAGER"; /** * Inertial Measurement Unit (IMU) #1. */ MavComponent[MavComponent["IMU"] = 200] = "IMU"; /** * Inertial Measurement Unit (IMU) #2. */ MavComponent[MavComponent["IMU_2"] = 201] = "IMU_2"; /** * Inertial Measurement Unit (IMU) #3. */ MavComponent[MavComponent["IMU_3"] = 202] = "IMU_3"; /** * GPS #1. */ MavComponent[MavComponent["GPS"] = 220] = "GPS"; /** * GPS #2. */ MavComponent[MavComponent["GPS2"] = 221] = "GPS2"; /** * Open Drone ID transmitter/receiver (Bluetooth/WiFi/Internet). */ MavComponent[MavComponent["ODID_TXRX_1"] = 236] = "ODID_TXRX_1"; /** * Open Drone ID transmitter/receiver (Bluetooth/WiFi/Internet). */ MavComponent[MavComponent["ODID_TXRX_2"] = 237] = "ODID_TXRX_2"; /** * Open Drone ID transmitter/receiver (Bluetooth/WiFi/Internet). */ MavComponent[MavComponent["ODID_TXRX_3"] = 238] = "ODID_TXRX_3"; /** * Component to bridge MAVLink to UDP (i.e. from a UART). */ MavComponent[MavComponent["UDP_BRIDGE"] = 240] = "UDP_BRIDGE"; /** * Component to bridge to UART (i.e. from UDP). */ MavComponent[MavComponent["UART_BRIDGE"] = 241] = "UART_BRIDGE"; /** * Component handling TUNNEL messages (e.g. vendor specific GUI of a component). */ MavComponent[MavComponent["TUNNEL_NODE"] = 242] = "TUNNEL_NODE"; /** * Deprecated, don't use. Component for handling system messages (e.g. to ARM, takeoff, etc.). */ MavComponent[MavComponent["SYSTEM_CONTROL"] = 250] = "SYSTEM_CONTROL"; })(MavComponent = exports.MavComponent || (exports.MavComponent = {})); /** * The heartbeat message shows that a system or component is present and responding. The type and * autopilot fields (along with the message component id), allow the receiving system to treat further * messages from this system appropriately (e.g. by laying out the user interface based on the * autopilot). This microservice is documented at https://mavlink.io/en/services/heartbeat.html */ class Heartbeat extends mavlink_1.MavLinkData { constructor() { super(); this.type = MavType[Object.keys(MavType)[0]]; this.autopilot = MavAutopilot[Object.keys(MavAutopilot)[0]]; this.baseMode = MavModeFlag[Object.keys(MavModeFlag)[0]]; this.customMode = 0; this.systemStatus = MavState[Object.keys(MavState)[0]]; this.mavlinkVersion = 0; } } exports.Heartbeat = Heartbeat; Heartbeat.MSG_ID = 0; Heartbeat.MSG_NAME = 'HEARTBEAT'; Heartbeat.PAYLOAD_LENGTH = 9; Heartbeat.MAGIC_NUMBER = 50; Heartbeat.FIELDS = [ new mavlink_1.MavLinkPacketField('custom_mode', 'customMode', 0, false, 4, 'uint32_t', ''), new mavlink_1.MavLinkPacketField('type', 'type', 4, false, 1, 'uint8_t', ''), new mavlink_1.MavLinkPacketField('autopilot', 'autopilot', 5, false, 1, 'uint8_t', ''), new mavlink_1.MavLinkPacketField('base_mode', 'baseMode', 6, false, 1, 'uint8_t', ''), new mavlink_1.MavLinkPacketField('system_status', 'systemStatus', 7, false, 1, 'uint8_t', ''), new mavlink_1.MavLinkPacketField('mavlink_version', 'mavlinkVersion', 8, false, 1, 'uint8_t_mavlink_version', ''), ]; exports.REGISTRY = { 0: Heartbeat, }; //# sourceMappingURL=minimal.js.map