Skip to content

Commit

Permalink
more words (i am going insane)
Browse files Browse the repository at this point in the history
  • Loading branch information
maybenikhil committed Feb 27, 2024
1 parent a2592af commit 7f58fc4
Show file tree
Hide file tree
Showing 15 changed files with 94 additions and 43 deletions.
53 changes: 52 additions & 1 deletion .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,6 @@ QuadKopters
HiYOUNGER
JHEMCU
Flywoo
ATTO
EL
MX
Ironman
Expand Down Expand Up @@ -274,3 +273,55 @@ nano
AIOs
accelerometer
openocd
unpowered
selectable
Unbricking
overvoltage
Heatsink
Schottky
MHz
Niklas
Voigt
Seba
kilobits
ctzsnooze
SteveCEvans
Pawe
Stefański
phobos
Olaussen
klutvott
JyeSmith
CrazyF
Mobula
SPH
microcontroller
Zepto
Atto
distro's
QGC
COMs
ethernet
FW
Hotspot
hotspot
PIO
stlink
PIO's
TX's
callout
Bardwell
Bolded
FHSS
Jye's
rx
Uncommented
WebSocket
txt
VSCode
mingw
sourceforge
crc
https
HD
dodecatillion
4 changes: 2 additions & 2 deletions docs/hardware/backpack/backpack-tx-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,9 @@ If you have set your Home Network SSID and Password, point your browser to http:

The main banner will show you what kind of device it is and the firmware version that's flashed into it.

## Setup your VRx Backpack
## Setup your VRX Backpack

Proceed to the [VRx Backpack Setup](backpack-vrx-setup.md) section to setup your VRx Backpack, if desired.
Proceed to the [VRX Backpack Setup](backpack-vrx-setup.md) section to setup your VRX Backpack, if desired.

## Operation

Expand Down
2 changes: 1 addition & 1 deletion docs/hardware/backpack/backpack-vrx-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The VRX firmware you will flash into your Backpack Device will depend on what VR

### Flashing via WiFi (ESP-based ExpressLRS Receivers)

Power up your selected VRX Backpack device (connect 5v and gnd pads to any 5v power source). Let it go into WiFi Update mode (fast blinking LED) and load up the WiFi Update page. In the Address bar of your browser, add `?force=true` to ensure it will accept the VRX Backpack firmware. The resulting URL should read `http://10.0.0.1/?force=true` (if you connected via Access Point) or `http://elrs_rx.local/?force=true` (if your device has connected to your local WiFi network).
Power up your selected VRX Backpack device (connect 5v and GND pads to any 5v power source). Let it go into WiFi Update mode (fast blinking LED) and load up the WiFi Update page. In the Address bar of your browser, add `?force=true` to ensure it will accept the VRX Backpack firmware. The resulting URL should read `http://10.0.0.1/?force=true` (if you connected via Access Point) or `http://elrs_rx.local/?force=true` (if your device has connected to your local WiFi network).

!!! note "Note"
The `?force=true` is not needed for ESP-based receivers with factory firmware. It is only required if you have previously flashed the receiver and want to repurpose it as a VRX Backpack.
Expand Down
2 changes: 1 addition & 1 deletion docs/hardware/crystal-frequency-error.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ For example, this might look like (which is safe to just copy-paste in general):

#### Procedure

- Using the configurator and user defines, include the `-DDEBUG_FREQ_CORRECTION` define for **BOTH TX AND RX** builds of any version of ELRS past v3.0.0 (ie V3.0.0 RC2)
- Using the configurator and user defines, include the `-DDEBUG_FREQ_CORRECTION` define for **BOTH TX AND RX** builds of any version of ELRS past v3.0.0 (i.e. V3.0.0 RC2)
- After loading the new firmware on both TX and RX, go to the telemetry screen in your model settings on the TX side. Note the "RSNR" value. This is the relative difference between your TX and RX clocks.
- *The closer this value is to 0, the better!*. Negative means the RX clock is slower than TX, and positive means that it is faster.
- +/- 20 ticks (~30 kHz offset) is nearly perfect. +/-60 ticks (~95 kHz) will still likely be completely fine, though not ideal. +/-70 ticks and further is marginal and might be fine, but you should be careful.
Expand Down
10 changes: 5 additions & 5 deletions docs/hardware/fan-mod.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Initially, this mod is brought to life by [Niklas Voigt](https://discordapp.com/

You need a **20x20mm** or **25x25mm** **fan** in **5V** version.
Both sizes are supported. To secure the fan into the cover you can use **2x M2 screws**, a thread is already in the print.
U can solder the pins of the fan directly to the **5v port of the R9M** or use the [**Controllable Fan Mod**](#controllable-fan-mod) which can control the fan out of software (fan blows only at >250mw).
You can solder the pins of the fan directly to the **5v port of the R9M** or use the [**Controllable Fan Mod**](#controllable-fan-mod) which can control the fan out of software (fan blows only at >250mW).

R9M Fan Mod Cover is built out of four Parts and a Sticker:

Expand All @@ -41,13 +41,13 @@ R9M Fan Mod Cover is built out of four Parts and a Sticker:
* [R9M-Fan-Case-Pins.stl](https://github.com/ExpressLRS/ExpressLRS-Hardware/raw/master/STL/R9M-Fan-Mod-Case/R9M-Fan-Case-Pins.stl)
* [R9M-Fan-Case-XT30.stl](https://github.com/ExpressLRS/ExpressLRS-Hardware/raw/master/STL/R9M-Fan-Mod-Case/R9M-Fan-Case-XT30.stl)
* [R9M-Fan-Case-Standoff.stl](https://github.com/ExpressLRS/ExpressLRS-Hardware/raw/master/STL/R9M-Fan-Mod-Case/R9M-Fan-Case-Standoff.stl) (2x)
* [R9M-ExpressLRS-900Mhz.pdf](https://github.com/ExpressLRS/ExpressLRS-Hardware/raw/master/STL/R9M-Fan-Mod-Case/R9M-ExpressLRS-900Mhz.pdf)
* [R9M-ExpressLRS-900MHz.pdf](https://github.com/ExpressLRS/ExpressLRS-Hardware/raw/master/STL/R9M-Fan-Mod-Case/R9M-ExpressLRS-900Mhz.pdf)

or from [Thingiverse](https://www.thingiverse.com/thing:4829360)

## Controllable Fan Mod

Additionally to the fan, you'll need one NPN Transistor (e.g. `2N4401`) or N-Channel MOSFET (e.g. `BS170` has built-in Shotky-Diode) and a resistor (200-3k7)
Additionally to the fan, you'll need one NPN Transistor (e.g. `2N4401`) or N-Channel MOSFET (e.g. `BS170` has built-in Schottky-Diode) and a resistor (200-3k7)

<figure markdown>
<img class="center-img" src="https://github.com/ExpressLRS/ExpressLRS-Hardware/blob/master/img/wiki-from-discord/n-channel-mosfet.png?raw=true" width="40%">
Expand All @@ -74,7 +74,7 @@ The PB9 pad location on the R9M2019 module is a bit different. Please see the ph
In addition to the [3D printed Cover](#download) & the [**Controllable Fan Mod**](#controllable-fan-mod) you'll need:

* Fan + Heatsink `"2507 25MM 25x25x13MM Hydraulic bearing Graphics card Cooling fan with heat sink 5V 12V m.2 SSD Fan with 2pin"`
* Thermalpad 0.5mm `"1pc 100mmx100mmx0.5mm GPU Northbridge IC LED Chipset Heatsink Cooling Conductive Silicone Thermal Pad,100x100x0.5mm w/ 3.2W/M-K"`
* Thermal Pad 0.5mm `"1pc 100mmx100mmx0.5mm GPU Northbridge IC LED Chipset Heatsink Cooling Conductive Silicone Thermal Pad,100x100x0.5mm w/ 3.2W/M-K"`

The screw heads are cut off to reduce height.

Expand Down Expand Up @@ -113,4 +113,4 @@ If you don't know how to allow the 2W in the firmware, don't do this mod!🤦‍

<figure markdown>
<img class="center-img" src="https://github.com/ExpressLRS/ExpressLRS-Hardware/blob/master/img/wiki-from-discord/make4.jpeg?raw=true" width="40%">
</figure>
</figure>
4 changes: 2 additions & 2 deletions docs/hardware/inverter-mod.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: A short guide on how to add a resistor for the R9M ACCST Inverter M

## Overview

- To benefit from the higher bitrate of 400 kilobits per second using `OpenTX`/`EdgeTX` you need to **add a pullup resistor to the inverter** of the serial port on the R9M 2018🗻🆙
- To benefit from the higher bitrate of 400 kilobits per second using `OpenTX`/`EdgeTX` you need to **add a pull-up resistor to the inverter** of the serial port on the R9M 2018🗻🆙
- Strongly suggested being done for anybody looking for higher than standard packet rates using `ExpressLRS` 🔮

## Identification
Expand Down Expand Up @@ -36,4 +36,4 @@ Some Radios/Transmitters will require the Inverter/[Crossfire Mod](https://blog.
| QX7 | 115200 | Not Needed | Not Needed | Max Packet Rate supported is 250Hz |
| Others | 400000+ | Not Needed | Required | TX16S, TX12, T16/T18, etc |

`ACCESS` radios don't need the Inverter/Crossfire mod.
`ACCESS` radios don't need the Inverter/Crossfire mod.
10 changes: 5 additions & 5 deletions docs/hardware/spi-receivers.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ description: All-in-one Flight Controllers were released with ExpressLRS receive
!!! note "Supported RF Modes"
SPI receivers **DO NOT** support D(D250, D500), F(F500, F1000) and Full Res(100Hz Full Res, 333Hz Full Res) Modes (Packet Rates) and thus will not bind or sync with a TX module in any of these modes.

A few Flight Controllers and AIOs have been released with ExpressLRS receivers on-board using SPI instead of a regular UART. This means you can build a more compact and lightweight whoop or nano longrange rig without the need for an external receiver. More of these flight controllers are coming into stores.
A few Flight Controllers and AIOs have been released with ExpressLRS receivers on-board using SPI instead of a regular UART. This means you can build a more compact and lightweight whoop or nano long range rig without the need for an external receiver. More of these flight controllers are coming into stores.

Because the ExpressLRS code is "baked-in" to the flight controller firmware instead of using a second microcontroller, these can not be updated the same way external UART-based receivers are updated.

!!! info "NOTE"
You cannot use the ExpressLRS Configurator to update these FCs. You must update the flight controller software, eg Betaflight.
You cannot use the ExpressLRS Configurator to update these FCs. You must update the flight controller software, e.g. Betaflight.

SPI receiver compatibility with ExpressLRS v3.x *requires* your flight controller be flashed with [Betaflight 4.4](https://github.com/betaflight/betaflight/releases/tag/4.4.0). If you are running [Betaflight 4.3.0](https://github.com/betaflight/betaflight/releases/tag/4.3.0) or [Betaflight 4.3.1](https://github.com/betaflight/betaflight/releases/tag/4.3.1), your receiver will only work with ExpressLRS v2.x. Please update to Betaflight 4.4 for ExpressLRS v3.x compatibility.

Expand All @@ -22,8 +22,8 @@ In preparation for updating, you should save a copy of your `diff all` dump. Sim

Using the latest [Betaflight Configurator](https://github.com/betaflight/betaflight-configurator/releases), navigate into `Firmware Flasher` and select the latest [Betaflight release](https://github.com/betaflight/betaflight/releases/tag/4.4.0-RC2). Depending on your AIO board, the target will differ:

* Happymodel AIO: CRAZYBEEF4SX1280
* BetaFPV AIO: BETAFPVF4SX1280
* Happymodel AIO: `CRAZYBEEF4SX1280`
* BetaFPV AIO: `BETAFPVF4SX1280`
* SPRacing SPH7RF: Coming soon!

If your Flight Controller model is not in the list above, consult your Flight Controller manufacturer for details.
Expand Down Expand Up @@ -117,4 +117,4 @@ The SPI ExpressLRS implementation would not have been possible without the work
- Dominic Clifton ([@hydra](https://github.com/hydra))
- Hans Christian Olaussen ([@klutvott123](https://github.com/klutvott123))
- Steve Evans ([@SteveCEvans](https://github.com/SteveCEvans))
- Ctzsnooze ([@ctzsnooze](https://github.com/ctzsnooze))
- ctzsnooze ([@ctzsnooze](https://github.com/ctzsnooze))
18 changes: 9 additions & 9 deletions docs/quick-start/ardupilot-setup.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
---
template: main.html
description: ExpressLRS can be used with Ardupilot! This guide got you covered with the correct Ardupilot Parameters.
description: ExpressLRS can be used with ArduPilot! This guide got you covered with the correct ArduPilot Parameters.
---

![Setup-Banner](https://github.com/ExpressLRS/ExpressLRS-Hardware/raw/master/img/quick-start.png)

## Ardupilot Serial Setup
## ArduPilot Serial Setup

Ardupilot Firmware must be 4.1 or higher to run CRSF protocol.
As with any serial-based receiver, you need to attach the TX/RX pads to a UART on your flight controller, then enable Serial RX in the corresponding UART in Ardupilot.
ArduPilot Firmware must be 4.1 or higher to run CRSF protocol.
As with any serial-based receiver, you need to attach the TX/RX pads to a UART on your flight controller, then enable Serial RX in the corresponding UART in ArduPilot.
In mission planner, you will need to go to the ```config tab -> parameter tree```
```
SERIALx_PROTOCOL = 23 (RCIN)
RSSI_TYPE = 3 (ReceiverProtocol)
```
our packet rate is different than CRSF packet rate, and Ardupilot will keep on reporting the mismatch, but recently they have an option to suppress the report. Currently Ardupilot provide a way to suppress this notification with the parameter below. (this will not cause any effect to RC link or telemetry Link.)
our packet rate is different than CRSF packet rate, and ArduPilot will keep on reporting the mismatch, but recently they have an option to suppress the report. Currently ArduPilot provide a way to suppress this notification with the parameter below. (this will not cause any effect to RC link or telemetry Link.)
```
RC_OPTIONS turn on Bit 9th which is "Suppress CRSF mode/rate message for ELRS systems".
```

Once you have set the parameter above, power-cycle the flight controller by disconnecting and reconnecting your battery and USB. Ardupilot should automatically run with ELRS, but if it fails, set ``RC_PROTOCOL`` parameter 9th bit to 1 (CRSF option)
Once you have set the parameter above, power-cycle the flight controller by disconnecting and reconnecting your battery and USB. ArduPilot should automatically run with ELRS, but if it fails, set ``RC_PROTOCOL`` parameter 9th bit to 1 (CRSF option)
and set the other parameter as below:
```
SERIALx_PROTOCOL = 23 (RCIN)
SERIALx_BAUD = 115
RSSI_TYPE = 3 (ReceiverProtocol)
```

## Ardupilot Flight Modes
Ardupilot default flight modes channel is channel 8, but ELRS 8 position channel is on channel 12 (in hybrid switch mode). you will need to set your handset to use channel 12 as flight modes and set Ardupilot parameter:
## ArduPilot Flight Modes
ArduPilot default flight modes channel is channel 8, but ELRS 8 position channel is on channel 12 (in hybrid switch mode). you will need to set your handset to use channel 12 as flight modes and set ArduPilot parameter:
```
FLTMODE_CH=12
```
if you are using Wide Switch mode (only available in ELRS V2 and above), you can use any channel for your 8 flight mode selection (beside channel 15 which is LQ and channel 16 which is RSSI).
## Ardupilot RSSI and Link Quality
## ArduPilot RSSI and Link Quality
To get RSSI and LQ shown in OSD (in %) set:
```
RSSI_TYPE = 3 (ReceiverProtocol)
Expand Down
4 changes: 2 additions & 2 deletions docs/software/obsolete-defines.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ template: main.html
!!! note
This page contains old user_defines.txt that have been removed or superseded by new defines.

New items should be added to the top of the list so the last entry here is the oldest. The order of each entry should be [code]definename[/code] followed by the original text of the documentation, ending with a separate paragraph "**REMOVED** [version] [replacement or reason for removal]".
New items should be added to the top of the list so the last entry here is the oldest. The order of each entry should be `[code]definename[/code]` followed by the original text of the documentation, ending with a separate paragraph "**REMOVED** [version] [replacement or reason for removal]".

## Obsolete Defines

Expand Down Expand Up @@ -44,7 +44,7 @@ These features enable **lower latency** 🏃‍♂️ and **offset** from the Op

Both require [OpenTX `2.3.12`](https://www.open-tx.org/) or above. To install it, you will have to use OpenTX companion application.

Deviation radio users such as those with the T8SGv2/v3 should disable this feature.
Deviation radio users such as those with the T8SG v2/v3 should disable this feature.

You can also use [EdgeTX](https://github.com/EdgeTX/edgetx).

Expand Down
2 changes: 1 addition & 1 deletion docs/software/open-ocd.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ If you are using Linux then you can't use the ST-LINK utility from st.com. But f

a. For R9mm/Mini `openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c 'init; reset halt; stm32f1x unlock 0; reset run; shutdown'`

b. For Ghost Átto/Zepto `openocd -f interface/stlink-v2.cfg -f target/stm32f3x.cfg -c 'init; reset halt; stm32f3x unlock 0; flash protect 0 0 last off; reset halt; exit'`
b. For Ghost Atto/Zepto `openocd -f interface/stlink-v2.cfg -f target/stm32f3x.cfg -c 'init; reset halt; stm32f3x unlock 0; flash protect 0 0 last off; reset halt; exit'`

3. Restart your device so the disabled readout protection can take effect.
4. Now you can proceed with flashing your receiver. This may work on other devices or it might not.
6 changes: 3 additions & 3 deletions docs/software/switch-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ For the remaining 7 switches (Chan 6 thru 12 / AUX 2 thru AUX 8), only one swit

In **Hybrid** mode, AUX2-AUX7 / Chan6-11 are 3-bit and can be used as either 2-position, 3-position, or 6-position switches or selector buttons. These are mapped to a PWM of 1000us to 2000us.

|2-pos<br>Switch |3-pos<br>Switch |6-pos<br>Switch | Approx. Channel<br>Input PWM (us) | Channel<br>Output (us) | Ardupilot Mode
|2-pos<br>Switch |3-pos<br>Switch |6-pos<br>Switch | Approx. Channel<br>Input PWM (us) | Channel<br>Output (us) | ArduPilot Mode
|:--: | :--: | :--: | :--: | :--: | --
|1|1|1|988 | 1000 | Mode1 (up position for 2-pos / 3-pos)
|||2|1192 | 1275 | Mode2
Expand All @@ -102,7 +102,7 @@ In **Hybrid** mode, AUX8 / Chan12 is 4-bit / 16-position and is mapped to the PW

In **Wide** mode, AUX2-AUX8 / Chan6-12 are 6-bit / 64-position for telemetry ratios of 1:2 and 1:4. For all other telemetry ratios, these 7 switches are 7-bit / 128-position. It takes 8 packets to send the complete set of switches before cycling back to AUX2 (one more than **Hybrid**). **Wide** uses the 8th slot to transmit extra data to the receiver, including the current transmitter power. This is the only switch mode which can show the transmitter power `TPwr` on the flight controller's OSD. These behave more like traditional channels although with lower precision. You can tell you're operating in **Wide** mode when a switch in the middle position shows up as 1503 instead of 1500.

If using Ardupilot in **Wide** mode you will see that the channel outputs don't line up very well with the standard -100% (988us) to +100% (2012us) output range in EdgeTX / OpenTX when using a 6-position selector as input. Both the first two and the last two positions get binned into Mode 1 and Mode 6 respectively. To get the full 6 Ardupilot modes, go to the Outputs page on the OpenTX model setup and set the min / max for the channels to -75% / +75%.
If using ArduPilot in **Wide** mode you will see that the channel outputs don't line up very well with the standard -100% (988us) to +100% (2012us) output range in EdgeTX / OpenTX when using a 6-position selector as input. Both the first two and the last two positions get binned into Mode 1 and Mode 6 respectively. To get the full 6 ArduPilot modes, go to the Outputs page on the OpenTX model setup and set the min / max for the channels to -75% / +75%.

### Full Resolution Switch Configuration Modes :new:

Expand Down Expand Up @@ -168,4 +168,4 @@ All of these 10-bit or 1024 positions are mapped to PWM 885us to 2115us (1 bit =
??? Note "Every time I change switch mode in Lua, it changes back! Is my transmitter broken?"
If the Lua loads then you know its communicating with your transmitter. However, the switch mode can only be changed when a receiver is not connected and makes it appear as if the changes are not saving. This is done to ensure consistency between the RX's and TX's interpretation of the switch data being actively transmitted. This is a safeguard. Power down your receiver, wait for the "Telemetry Lost" callout, and the switch mode change will stick / save. The receiver will talk to the transmitted when it is powered up to handshake on the new settings.

<script src="../../assets/javascripts/admonition-enhancement.js"></script>
<script src="../../assets/javascripts/admonition-enhancement.js"></script>
Loading

0 comments on commit 7f58fc4

Please sign in to comment.