Files
PX4 Build Bot aa19069c30 New Crowdin updates (#677)
* New translations index.md (Korean)

* New translations payload.md (Korean)

* New translations traffic_management.md (Korean)

* New translations define_xml_element.md (Korean)

* New translations mavlink_version.md (Korean)

* New translations index.md (Korean)

* New translations faq.md (Korean)

* New translations contributing.md (Korean)

* New translations generate_libraries.md (Korean)

* New translations installation.md (Korean)

* New translations mavlink_2.md (Korean)

* New translations message_signing.md (Korean)

* New translations packet_loss.md (Korean)

* New translations serialization.md (Korean)

* New translations wireshark.md (Korean)

* New translations xml_schema.md (Korean)

* New translations crc.md (Korean)

* New translations index.md (Korean)

* New translations howto_requestmessages.md (Korean)

* New translations mission.md (Korean)

* New translations offboard_control.md (Korean)

* New translations parameter.md (Korean)

* New translations timesync.md (Korean)

* New translations arm_authorization.md (Korean)

* New translations battery.md (Korean)

* New translations camera_v1.md (Korean)

* New translations command.md (Korean)

* New translations events.md (Korean)

* New translations gimbal_v2.md (Korean)

* New translations component_metadata.md (Korean)

* New translations index.md (Chinese Simplified)

* New translations payload.md (Chinese Simplified)

* New translations traffic_management.md (Chinese Simplified)

* New translations define_xml_element.md (Chinese Simplified)

* New translations mavlink_version.md (Chinese Simplified)

* New translations index.md (Chinese Simplified)

* New translations faq.md (Chinese Simplified)

* New translations contributing.md (Chinese Simplified)

* New translations generate_libraries.md (Chinese Simplified)

* New translations installation.md (Chinese Simplified)

* New translations mavlink_2.md (Chinese Simplified)

* New translations message_signing.md (Chinese Simplified)

* New translations packet_loss.md (Chinese Simplified)

* New translations serialization.md (Chinese Simplified)

* New translations wireshark.md (Chinese Simplified)

* New translations xml_schema.md (Chinese Simplified)

* New translations crc.md (Chinese Simplified)

* New translations index.md (Chinese Simplified)

* New translations howto_requestmessages.md (Chinese Simplified)

* New translations mission.md (Chinese Simplified)

* New translations offboard_control.md (Chinese Simplified)

* New translations parameter.md (Chinese Simplified)

* New translations timesync.md (Chinese Simplified)

* New translations arm_authorization.md (Chinese Simplified)

* New translations battery.md (Chinese Simplified)

* New translations camera_v1.md (Chinese Simplified)

* New translations command.md (Chinese Simplified)

* New translations events.md (Chinese Simplified)

* New translations gimbal_v2.md (Chinese Simplified)

* New translations component_metadata.md (Chinese Simplified)

* New translations common.md (Korean)

* New translations common.md (Chinese Simplified)
2026-03-10 12:15:23 +11:00

7.9 KiB

Events Interface (WIP)

:::warning The Events Interface is a work in progress and may change. It has an initial implementation in PX4 and QGroundControl and is planned for ArduPilot.

The information below is just an overview. Full details of the interface are provided in the: Events Interface Proposal :::

The Events Interface is a generic and flexible mechanism that allows one component to reliably notify a GCS (or any other component) of sporadic events and state changes. For example, the interface might be used notifying of arming readiness, calibration completion, and reaching the target takeoff height.

The interface provides for both common events that are shared by flight stacks or other components, and events that are specific to an implementation. MAVLink "common" events are defined in mavlink/libevents/events/common.json.

:::info The events interface is intended to replace the widespread use of STATUSTEXT messages, which are not really fit for purpose. :::

Key features

The following key features are provided by the interface:

  • Reliable delivery with retransmission
  • Consistent interface to report system health and arming checks.
  • Minimized buffer requirements on the autopilot side.
  • Minimized binary message length
  • Generic: autopilot- and GCS-agnostic.
  • Long-term stable and extensible
  • Allows arguments to be attached to an event.
  • Possible types: uint8, int8, uint16, int16, uint32, int32, int64, uint64, float
  • Enums and bit fields can be built on top of these types
  • Enable automated processing (for example from a flight log containing events).
  • Minimize amount of auto-generated code for embedded implementations.
  • Events volume of <1 Hz on average (may scale with protocol parameters adjustments, like retransmission timeouts).
  • Events can be targeted or broadcast
  • Any component can send events, including cameras, companion computers, ground stations, etc.
  • Events have metadata, like a log level. They can also have a detailed, more extensive description, possibly with URLs.
  • Support for message text and message translation.

Message/Enum Summary

消息 描述
EVENT Event message. Each new event from a particular component gets a new sequence number. The same message might be sent multiple times if (re-)requested. Most events are broadcast, some can be specific to a target component (as receivers keep track of the sequence for missed events, all events need to be broadcast. Thus we use destination_component instead of target_component).
CURRENT_EVENT_SEQUENCE Regular broadcast for the current latest event sequence number for a component. This is used to check for dropped events.
REQUEST_EVENT Request one or more events to be (re-)sent. If first_sequence==last_sequence, only a single event is requested. Note that first_sequence can be larger than last_sequence (because the sequence number can wrap). Each sequence will trigger an EVENT or EVENT_ERROR response.
RESPONSE_EVENT_ERROR Response to a REQUEST_EVENT if there is an error requesting an event, including the reason. The most common reason would be that the event is not longer available (has been discarded).
Enum 描述
MAV_EVENT_CURRENT_SEQUENCE_FLAGS Flags for CURRENT_EVENT_SEQUENCE. For example, to indicate when the sequence has reset.
MAV_EVENT_ERROR_REASON Reasons for an error, as provided in RESPONSE_EVENT_ERROR. For example, common error would be that the event is not available (i.e. it has been discarded).

Implementations

Implementation PRs and other information is listed below. All of these should be considered prototypes/WIP.