diff --git a/common/source/docs/common-mlrs-rc.rst b/common/source/docs/common-mlrs-rc.rst new file mode 100644 index 0000000000..77f3194b2e --- /dev/null +++ b/common/source/docs/common-mlrs-rc.rst @@ -0,0 +1,31 @@ +.. _common-mlrs-rc: +[copywiki destination="plane,copter,rover,blimp"] +============ +mLRS project +============ + +`mLRS firmware github page `__ + +`mLRS documentation `__ + +The mLRS project is open source firmware which implements a long range integrated RC and full MAVLink telemetry system which can run on a few off the shelf and DIY hardware platforms. It supports 433 MHz, 868/915 MHz, and 2.4 GHz bands. It is capable of reaching ranges of 7 to 87 km in LoRa modes, depending on the message rate, output power, and frequency band supported by the chosen hardware. A MAVLink ground station (phone or PC) may be connected to the transmitter module via USB, serial, WiFi or Bluetooth depending on the hardware selected. + +When the CRSF protocol is used for RC data on EdgeTX/OpenTX based radios, mLRS also translates some common MAVLink messages into telemetry sensors which can be used by the Yaapu Telemetry App as described `here `__. + +.. image:: ../../../images/mLRS-docu-setup-crsf-telemetry-yaapu-app-02.jpg + +The receivers can output RC controls in either SBUS or CRSF(including link quality info) to the autopilot or use embedded MAVLink overrides via only the telemetry connection to the autopilot. + +mLRS has been optimized for use with ArduPilot and includes specific support for MAVLink including flow control via RADIO_STATUS messages and optional injection of RC_CHANNELS_OVERRIDE messages allowing a single full duplex serial connection to the flight controller for both RC and MAVLink. + +mLRS is rich in features including support for full diversity, 10 model configurations, and OLED display or LUA script for configuration. + +You can install the mLRS firmware on one of the supported off the shelf hardware platforms which currently includes the `R9M Tx module `__, `R9MX Rx `__, and R9MM at 868/915 MHz and the `FRM303 Rx/Tx module `__ at 2.4 GHz. + +See the mLRS documentation for the `FrSky R9 `__ or `Flysky FRM303 `__ for instructions on flashing the firmware. + +Or, with some soldering skill, you can build one of the DIY board designs which are documented on the `Github `__ and the `mLRS documentation `__ + +.. image:: ../../../images/Frsky_R9_mLRS.jpg + +FrSky R9M Tx module with `M5Stamp pico `__ piggyback `Wireless Bridge `__ for Bluetooth or WiFi to GCS pictured with light weight dipole and R9MX receiver diff --git a/common/source/docs/common-rc-systems.rst b/common/source/docs/common-rc-systems.rst index 8c92160804..e0755ab576 100644 --- a/common/source/docs/common-rc-systems.rst +++ b/common/source/docs/common-rc-systems.rst @@ -30,7 +30,7 @@ Connecting the Receiver For all protocols above, ArduPilot auto-detects the protocol of the RC receiver system. However, depending on the protocol and autopilot type, the physical connection to the autopilot may differ. -Some protocols, most noticeably SRXL2, CRSF, and ELRS, require a full UART connection. +Some protocols, most notably SRXL2, CRSF, and ELRS, require a full UART connection. In addition other protocols that also provide telemetry, like FPort, would generally require a bi-directional half-duplex connection in order to obtain telemetry. For these protocols the TX output of the UART should be connected to the serial input of the receiver. It is also possible on F7 and H7 boards to connect to the UART RX input with some additional configuration. @@ -64,6 +64,14 @@ FPort/FPort2 FPort is a bi-directional protocol, using SBus RC in one direction, and serial telemetry in the other. The RC portion can be decoded when attached to an autopilot as if it were SBus, but the embedded telemetry would be lost. See the :ref:`FPort setup documentation` for details on connection to one of the autopilots Serial Ports. +:ref:`mLRS ` +---------------------------- + +mLRS can provide RC control and MAVLink telemetry. mLRS receivers have an RC output pin that can be configured for either SBUS or CRSF protocol (CRSF would be only RC data). For SBUS you can connect it to the autopilot's RCin pin. For CRSF or SBUS, it can be connected to any autopilot UART RX pin and that port configured for RC protocol. Using CRSF portocol, allows RSSI/LQ information to be delivered to the autopilot. + +For optional telemetry a separate TX/RX port is provided on the receiver to be connected to an autopilot MAVLink telemetry serial port. You can omit the single wire RC connection and configure the mLRS receiver to output RC channels over MAVLink if you are not using GCS RC overrides (eg, joystick) + + SRXL2/CRSF/ELRS --------------- @@ -127,6 +135,8 @@ Below is a table with some commonly available systems showing these elements. N +-----------------------+------+----------+------------+-----------+--------------+--------+ |Graupner |Short | Yes | Medium | yes | SUM-D | | +-----------------------+------+----------+------------+-----------+--------------+--------+ +|mLRS |Long | Bi-Dir | 12K - 91K |via LUA |SBUS/CRSF | 5 | ++-----------------------+------+----------+------------+-----------+--------------+--------+ |Multiplex |Short | No | - | - | SRXL | | +-----------------------+------+----------+------------+-----------+--------------+--------+ |Spektrum |Short | No | - | - | DSM/DSM2 | | @@ -142,6 +152,8 @@ Note 3: ArduPilot provides a means to send its telemetry data via CRSF such that Note 4: ELRS (EpressLRS) is a system that uses the CRSF (TBS Crossfire) RC protocol with several minimizations to simplify the system. It has reduced features but it connects to ArduPilot just like CRSF, when CRSF RXs are attached using a full UART, instead of SBUS protocol to communicate to ArduPilot. See `ExpressLRS site ` for more information. +Note 5: The mLRS project is firmware designed specifically to carry both RC and MAVLink. The usable telemetry speed varies by the chosen mode and is managed via RADIO_STATUS flow control. It uses the CRSF (TBS Crossfire) RC protocol on both the receiver and Tx module. It also integrates full MAVLink telemetry via serial connections on the Tx module and the receiver. + Links to Radio Control Systems ============================== @@ -163,6 +175,7 @@ With integrated telemetry: DragonLink FRSky Graupner (HOTT) + mLRS Multiplex (no support in ArduPilot for M-Link telemetry yet) Spektrum SRXL2 TBS CRSF diff --git a/common/source/docs/common-telemetry-landingpage.rst b/common/source/docs/common-telemetry-landingpage.rst index 715f3c471d..95df8c6d1f 100644 --- a/common/source/docs/common-telemetry-landingpage.rst +++ b/common/source/docs/common-telemetry-landingpage.rst @@ -52,6 +52,7 @@ Long Range Holybro 900Mhz XBP9X Telemetry Radio Holybro Microhard P900 Radio Telemetry Radio LTM telemetry + mLRS RFD900 Robsense SwarmLink Rockblock Satellite Modem diff --git a/images/Frsky_R9_mLRS.jpg b/images/Frsky_R9_mLRS.jpg new file mode 100644 index 0000000000..e7a810d695 Binary files /dev/null and b/images/Frsky_R9_mLRS.jpg differ diff --git a/images/mLRS-docu-setup-crsf-telemetry-yaapu-app-02.jpg b/images/mLRS-docu-setup-crsf-telemetry-yaapu-app-02.jpg new file mode 100644 index 0000000000..1f9d3e0a15 Binary files /dev/null and b/images/mLRS-docu-setup-crsf-telemetry-yaapu-app-02.jpg differ