MAVLink Microservices (Protocols) 
MAVLink "microservices" are a protocols that use multiple messages exchanged between components to communicate more complicated information. For example, the Command Protocol provides an efficient mechanism for packaging a command in a (particular) message and receiving acknowledgement of the command in another message.
MAVLink microservices are documented the MAVLink Guide (this is not exhaustive: not all messages are grouped into protocols and not all protocols are documented).
This section lists the services known to be supported/not supported by PX4 in this version.
Supported Microservices 
These services are known to be supported in some form:
- Battery Protocol
- BATTERY_STATUS and BATTERY_INFO are streamed.
 
 - Camera Protocols
 - Command Protocol
 - Component Metadata Protocol
 - Events Interface
 - File Transfer Protocol (FTP)
 - Gimbal Protocols 
- Gimbal Protocol v2
- Can be enabled by Gimbal Configuration
 - PX4 an act as a MAVLink Gimbal for one FC-connected Gimbal
 
 
 - Gimbal Protocol v2
 - Heartbeat/Connection Protocol
 - High Latency Protocol — PX4 streams HIGH_LATENCY2
 - Image Transmission Protocol
 - Landing Target Protocol
 - Manual Control (Joystick) Protocol
 - MAVLink Id Assignment (sysid, compid)
 - Mission Protocol
 - Offboard Control Protocol
 - Remote ID (Open Drone ID Protocol)
 - Parameter Protocol
 - Parameter Protocol Extended — Allows setting string parameters. Used for setting string parameters set in camera definition files.
 - Payload Protocol
 - Ping Protocol
 - Standard Modes Protocol
 - Terrain Protocol
 - Time Synchronization
 - Traffic Management (UTM/ADS-B)
 - Arm Authorization Protocol
 
Unsupported 
These services are not supported/used by PX4: