Article directory
Preface
ArduPilot supports MSP protocol for telemetry, OSD and sensors through any serial port . This enables ArduPilot to send telemetry data to an MSP- compatible device (such as DJI goggles) for use in an on-screen display ( OSD ) (see MSP OSD ). When set to MSP protocol (i.e. betaflight/Inav ), external OSDS (such as MWOSD ) can also use it.
1 Overview of the Agreement
MSP is the primary communication protocol used by all Betaflight derived flight stacks. It is a binary message-based protocol used for control, telemetry, and sensors. ArduPilot 's MSP protocol module is transplanted from Betaflight and iNav , and supports both MSPV1 and MSPV2 .
Currently, the ArduPilot implementation supports:
- MSP telemetry technology;
- MSP telemetry OSD , such as DJI FPV goggles, FatShark 's ByteFrost and SharkByte , MWOSD ;
- MSP DisplayPort OSD , such as FatShark 's Shark Byte and MWOSD ;
- MSP sensors such as lidar, optical flow, GPS , barometer, magnetometer and airspeed sensors.
ArduPilot configuration via MSP protocol is not supported , so the Betaflight configurator will not work.
2 configuration
MSP requires a free serial port, whose speed defaults to 115200 baud. The following example uses SERIAL2 .
There are 3 MSP backends available via serial protocol :
- SERIAL2_PROTOCOL = 33 for DJI FPV or RE goggles;
- SERIAL2_PROTOCOL = 32 for sensor or generic MSP telemetry, MWOSD configuration for MSP telemetry;
- SERIAL2_PROTOCOL = 42 is for DisplayPort OSD (aka CANVAS mode) like FatShark 's SharkByte .
!Note
There are two different protocols to try to maintain compatibility with DJI's ever-evolving hardware.
When SERIAL2_PROTOCOL = 33 is selected , the protocol decoder can work in polling mode (default) or " telemetry push " mode. When operating in polling mode, both TX and RX must be connected to the MSP telemetry transceiver. In push mode, only the TX line is used. To enable push mode, simply set MSP_OPTIONS bit 0 to " 1 "; to disable, set it to " 0 " (the default).
Both protocols support MSP sensors such as Matek 3901-L0X .
3 Parameter description
1. SERIAL2_PROTOCOL : Serial 2 protocol selection
NOTE: A reboot is required after making the change.
Controls what protocol the Serial2 port should use. Note that the Frsky option requires external converter hardware. See Wikipedia for details.
Values |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|