Code Monkey home page Code Monkey logo

expresslrs-configurator's Introduction

Banner

Release Build Status License Stars Chat

Support ExpressLRS

You can support ExpressLRS by contributing code, testing new features, sharing your ideas, or helping others get started. We are exceptionally grateful for those who donate their time to our passion.

If you don't have time to lend a hand in that way but still want to have an impact, consider donating. Donations are used for infrastructure costs and to buy test equipment needed to further the project and make it securely accessible. ExpressLRS accepts donations through Open Collective, which provides recognition of donors and transparency on how that support is utilized.

Open Collective backers

We appreciate all forms of contribution and hope you will join us on Discord!

Website

For general information on the project please refer to our guides on the website, and our FAQ

About

ExpressLRS is an open source Radio Link for Radio Control applications. Designed to be the best FPV Racing link, it is based on the fantastic Semtech SX127x/SX1280 LoRa hardware combined with an Espressif or STM32 Processor. Using LoRa modulation as well as reduced packet size it achieves best in class range and latency. It achieves this using a highly optimized over-the-air packet structure, giving simultaneous range and latency advantages. It supports both 900 MHz and 2.4 GHz links, each with their own benefits. 900 MHz supports a maximum of 200 Hz packet rate, with higher penetration. 2.4 GHz supports a blistering fast 1000 Hz on EdgeTX. With hundreds of different hardware targets from a wide range of hardware manufacturers, the choice of hardware is constantly growing, with different hardware suited to different requirements.

Configurator

To configure your ExpressLRS hardware, the ExpressLRS Configurator can be used, which is found here:

https://github.com/ExpressLRS/ExpressLRS-Configurator/releases/

Community

We have both a Discord Server and Facebook Group, which have great support for new users and constant ongoing development discussion

Features

ExpressLRS has the following features:

  • Up to 1000 Hz Packet Rate
  • Telemetry (Betaflight Lua Compatibility)
  • Wifi Updates
  • Bluetooth or WiFi Sim Joystick
  • Oled & TFT Displays
  • 2.4 GHz, 900 MHz, and Dual-Band RC Link
  • SMD Antenna - allows for easier installation into micros
  • Supported receiver protocols: CRSF, SBUS, SUMD, HoTT Telemetry, and PWM
  • VTX and VRX Frequency adjustments from the Lua
  • Bind Phrases - no need for button binding

with many more features on the way!

Supported Hardware

ExpressLRS currently supports hardware from a wide range of manufacturers. In principle, the targets listed in the ExpressLRS Configurator are tested and supported hardware.

Please refer to the [Hardware Selection] page (https://www.expresslrs.org/hardware/hardware-selection/) on the website for guidance. We do not manufacture any of our hardware, so we can only provide limited support for faulty hardware.

Developers

If you are a developer and would like to contribute to the project, feel free to join the discord and chat about bugs and issues. You can also look for issues at the GitHub Issue Tracker. The best thing to do is to submit a Pull Request to the GitHub Repository.

expresslrs-configurator's People

Contributors

basters avatar benjinne avatar bkleiner avatar capnbry avatar crowdin-bot avatar deadbytefpv avatar dimitroffs avatar fog-yamato avatar freasy avatar jennypavlova avatar jurgelenas avatar justinlampley avatar jyesmith avatar l1cardo avatar norulers avatar pairan avatar parkerbjur avatar pfeerick avatar pkendall64 avatar razzeee avatar rickard-von-essen avatar seriyps avatar silentflyby avatar stoneddawg avatar sunjunkim avatar trellixvulnteam avatar valeriyvan avatar vbotnaru avatar wikiwix avatar wvarty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

expresslrs-configurator's Issues

unable to flash with "HappyModel_TX_ES915TX_via_stock_BL"

Expected Behavior

Flash Successful

Current Behavior

Error Message

Flash error
Error: Unknown environment names 'HappyModel_TX_ES915TX_via_stock_BL'. Valid names are 'DIY_900_TX_ESP32_SX127x_RFM95_via_UART, DIY_900_RX_ESP8285_SX127x_via_BetaflightPassthrough, DIY_900_TX_TTGO_V2_SX127x_via_UART, DIY_2400_RX_STM32_CCG_Nano_v0_5_via_BetaflightPassthrough, Frsky_TX_R9M_via_WIFI, Frsky_RX_R9SLIMPLUS_OTA_via_BetaflightPassthrough, Frsky_TX_R9M_via_stock_BL, Frsky_TX_R9M_via_STLINK_OLD_BOOTLOADER_DEPRECATED, Frsky_RX_R9SLIMPLUS_OTA_via_STLINK, Frsky_RX_R9MX_via_BetaflightPassthrough, DIY_2400_TX_ESP32_SX1280_LORA1280F27_via_UART, Frsky_TX_R9M_LITE_via_STLINK, Jumper_RX_R900MINI_via_BetaflightPassthrough, Frsky_TX_R9M_LITE_PRO_via_STLINK, DIY_2400_TX_ESP32_SX1280_Mini_via_UART, Frsky_RX_R9MX_via_STLINK, Jumper_RX_R900MINI_via_STLINK, Frsky_TX_R9M_LITE_via_stock_BL, Frsky_RX_R9SLIMPLUS_via_STLINK, GHOST_ATTO_2400_RX_via_BetaflightPassthrough, DIY_900_TX_ESP32_SX127x_E19_via_UART, DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough, Frsky_RX_R9MM_R9MINI_via_BetaflightPassthrough, Frsky_TX_R9M_via_STLINK, DIY_900_TX_TTGO_V1_SX127x_via_UART, DIY_2400_RX_STM32_CCG_Nano_v0_5, DIY_900_RX_ESP8285_SX127x_via_UART, Frsky_RX_R9SLIMPLUS_via_BetaflightPassthrough, GHOST_ATTO_2400_RX_via_STLINK, DIY_2400_TX_ESP32_SX1280_E28_via_UART, DIY_2400_RX_ESP8285_SX1280_via_UART, Frsky_RX_R9MM_R9MINI_via_STLINK'

Possible Solution (Not obligatory)

Context

trying to compile bin file to flash Happy Model LRS module using configurator v0.4.8 Release 0.1.3-RC2 Target HappyModel_TX_ES915TX_via_stock_BL NO

Your Environment

  • Operating System and version:
  • TX hardware:
  • RX hardware:

Elrs.lua not work with jumper t-lite and TTGO lora v2

I can't get Elrs.lua file working correctly on my jumper T-lite :

Here are my setting :

The jumper T-lite have been flashed with opentx build nighty, here is my firmware.txt :

      OpenTX Firmware for tlite

      FWVERSION  opentx-tlite-2.3.12N506 (22e24b6e)
      DATE       2021-05-26
      TIME       13:10:20
      req SD ver 2.3V0037
      BOOTVER     opentx-tlite-2.3.11-jumper (84c86f71)

The TTGO lora module is flashed with expresslrs configurator and DIY_900_TX_TTGO_v2_SX127x_via_UART

Here are the issue or abnormal behavior I have noticed :

Once I go in TOOLS and select ELRS I see on the radio screen (step1) :

ExpressLRS ?????? 0:0

Connection....

Then if I press enter again it shows me (step2) :

ExpressLRS ?????? 0:0
Pkt. Rate ?
TLM Ratio ?
Power ?
RF Freq ?

[Bind] [wifi update]

**On the TTGO lora v2 side I can read from USB :

On booting :**

xタx￸xタxタタxxxx￸xタタタタタタタタxタタ￸タタタタタ￸タタタタタタタタ￸タx￸タ￸￸タxタxxタxタタxタx￸x￸タタxxタx￸タx￸xxx￸xxe
Number of FHSS frequencies =13
0 3 2 4 8 12 10 6 9 11
1 5 7 0 11 8 1 9 5 4
12 10 7 3 6 2 0 3 11 8
4 2 7 6 1 5 9 10 12 0
12 6 9 11 10 4 2 7 3 8
1 5 0 6 10 8 3 7 5 11
1 12 9 4 2 0 2 9 1 11
7 8 4 3 5 6 10 12 0 11
7 1 5 4 3 10 6 9 2 8
12 0 3 12 2 8 5 11 6 10
4 7 9 1 0 6 7 2 10 9
4 8 1 5 3 11 12 0 12 5
10 8 7 2 9 1 6 11 3 4
0 10 9 1 5 7 8 4 3 11
2 6 12 0 12 3 2 10 5 9
1 6 7 11 4 8 0 7 10 4
3 11 8 2 9 5 12 6 1 0
3 4 10 12 11 8 5 9 2 7
1 6 0 2 5 4 7 1 10 9
12 11 8 6 3 0 8 11 3 1
6 7 4 9 5 2 12 10 0 11
5 9 8 4 12 2 10 6 7 3
1 0 9 7 12 6 5 11 1 3
10 8 4 2 0 6 12 11 7 4
2 9 8 1 10 3 5 0 8 3
1 2 11 4 5 9
ExpressLRS TX Module Booted...
SX127x Driver Begin
Hal Init
12
found! (match by REG_VERSION == 0x12)
Setting ExpressLRS LoRa reg defaults
set rate
Setting ExpressLRS LoRa reg defaults
hwTimer Init
About to start CRSF task...
ESP32 CRSF UART LISTEN TASK STARTED
CRSF UART Connected
hwTimer resume
UART STATS Bad:Good = 0:275
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250

**If i go in "step1" (mentionned before) the USB output for the TTGO v2 board become :

Before navigate to elrs.lua :**

UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250

After navigate to elrs.lua :

send all lua params
UART STATS Bad:Good = 0:249
send all lua params
UART STATS Bad:Good = 0:249
send all lua params
UART STATS Bad:Good = 0:249
send all lua params
UART STATS Bad:Good = 0:249
send all lua params
UART STATS Bad:Good = 0:249
send all lua params
UART STATS Bad:Good = 0:249

If i press enter again and go to "step2" the output does not change.

Finnaly I managed to bind the Radio and FC by setting the binding phrase on both end, It worked and when I power up the AIO FC i read this on usb :

UART STATS Bad:Good = 0:250
got downlink conn
UART STATS Bad:Good = 0:250
UART STATS Bad:Good = 0:250

Cannot adjust the upload baud rate speed.

[env:DIY_2400_TX_ESP32_SX1280_E28_via_UART]
platform = [email protected]
board = esp32dev
upload_speed = 921600
upload_resetmethod = nodemcu
monitor_speed = 115200
board_build.f_cpu = 160000000L
build_flags =
	-D TARGET_TX_ESP32_E28_SX1280_V1
	-D TARGET_SX1280
	-D PLATFORM_ESP32
	-D VTABLES_IN_FLASH
	-D CONFIG_TCPIP_LWIP=1
	-O2
src_filter = ${common_env_data.src_filter} -<ESP8266*.*> -<STM32*.*> -<rx_main.cpp> -<rx_*.cpp>
lib_deps = NeoPixelBus

It would be nice to change that upload speed :) for uart stuff.

User analytics

Collection of basic data such as target flashed and option selected will help with testing and defining defaults.

Open firmware.bin file in a temp directory

We have observed a few cases where people were trying to perform WiFi update using incorrect file. Firmware.bin is needed, but firmware.elf was selected by mistake.

In order to improve UX it would be a good idea to create a temporary directory, copy firmware.bin from build directory there and return a modified firmwareBinPath to the UI.

This modification should be performed in FirmwareService.

Build and flash via stlink reports success when it actually failed

Expected Behavior

Without an st-link device connected the "build and flash" option should report failure, but instead show a green success notification.

Current Behavior

See image:

Screenshot from 2021-03-10 08-58-46

Steps to Reproduce

  1. Disconnect st-link from usb
  2. Select target Frsky_RX_R9MM_R9MINI_via_STLINK
  3. Press "build & flash"

Your Environment

ubuntu 20.04

Can't flash crazyf4 elrs 915 with ExpressLRS configurator

I'm currently trying to flash a crazyf4 elrs with ExpressLRS configurator to change the binding phrase but i can't get it work, I have this error :

include/targets.h:3:10: fatal error: Arduino.h: No such file or directory

What a I supposed to do to fix it ?

The complete log from ExpressLRS configurator :

Flash error
In file included from lib\SX127xDriver/SX127xDriver.h:2, from lib\FHSS/FHSS.h:4, from src\common.h:5, from src\common.cpp:1: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. In file included from src\config.h:3, from src\config.cpp:1: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\src\common.cpp.o] Error 1 *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\src\config.cpp.o] Error 1 In file included from src\rx_main.cpp:1: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. In file included from lib\SX127xDriver\SX127xHal.h:3, from lib\SX127xDriver\SX127x.h:4, from lib\SX127xDriver\SX127x.cpp:1: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\src\rx_main.cpp.o] Error 1 In file included from .pio\libdeps\HappyModel_RX_ES915RX_via_BetaflightPassthrough\extEEPROM\extEEPROM.cpp:58: .pio\libdeps\HappyModel_RX_ES915RX_via_BetaflightPassthrough\extEEPROM/extEEPROM.h:61:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 61 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\lib241\SX127xDriver\SX127x.cpp.o] Error 1 *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\libbac\extEEPROM\extEEPROM.cpp.o] Error 1 In file included from lib\SX1280Driver\SX1280.h:3, from lib\SX1280Driver\SX1280_hal.h:22, from lib\SX1280Driver\SX1280.cpp:2: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\lib72a\SX1280Driver\SX1280.cpp.o] Error 1 In file included from lib\SX127xDriver\SX127xHal.h:3, from lib\SX127xDriver\SX127xHal.cpp:3: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. In file included from lib\SX1280Driver\SX1280.h:3, from lib\SX1280Driver\SX1280_hal.h:22, from lib\SX1280Driver\SX1280_hal.cpp:21: include/targets.h:3:10: fatal error: Arduino.h: No such file or directory ***************************************************************** * Looking for Arduino.h dependency? Check our library registry! * * CLI > platformio lib search "header:Arduino.h" * Web > https://platformio.org/lib/search?query=header:Arduino.h * ***************************************************************** 3 | #include <Arduino.h> | ^~~~~~~~~~~ compilation terminated. *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\lib241\SX127xDriver\SX127xHal.cpp.o] Error 1 *** [.pio\build\HappyModel_RX_ES915RX_via_BetaflightPassthrough\lib72a\SX1280Driver\SX1280_hal.cpp.o] Error 1 ========================== [FAILED] Took 2.70 seconds ========================== Environment Status Duration ----------------------------------------------- -------- ------------ HappyModel_RX_ES915RX_via_BetaflightPassthrough FAILED 00:00:02.700 ==================== 1 failed, 0 succeeded in 00:00:02.700 ====================

macOS ARM testing & support

I have no macOS arm-based hardware that I can access, but I have received a report that DFU based flashing does not work there.

Potential issues to look at:

  1. Platformio arm support
  2. Maybe need native git & python binaries at dependencies
  3. Electron.js ARM support

The best-case scenario is to have a native app for ARM-based macs :)

Trace/breakpoint trap on Debian Buster

Expected Behavior

Configurator should start on Debian Linux (Buster).

Current Behavior

Configurator immediately exits with the message Trace/breakpoint trap

Stack trace

Steps to Reproduce

  1. Install configurator v0.4.0
  2. Start configurator

Your Environment

  • Operating System and version: Debian Buster
  • TX hardware: ---
  • RX hardware: ---

Happymodel AIO 2G4 FC: only 500Hz works

Expected Behavior

I want to use slower packet rates to get more range. With the EP1/2 you can just change the Packet rate on the radio and it works like a charm, receiveivers go along.

Current Behavior

It all works perfectly if I select 500Hz on the transmitter. But when I switch to any other choice ther are no control inputs. I read somewhere that you need to set it to 500Hz to bind it. But then it is stuck at that Frequency. It is indeed not possible to bind in any sub500Hz mode.

Steps to Reproduce

Bind to your AIO Happymodel AIO 2G4 FC
Select 250Hz on your radio -> no link
OR: Try to bind in 250Hz -> no success

Context

lower packet rates give better range

Your Environment

I am using Taranis QX7 with Happymodel 2G4 ELRS board
and the 2G4 ELRS AIO FC V1.0

Add USE_DIVERSITY define

ExpressLRS 1.0.0RC1 supports diversity receivers. I know the SIYI FM30 Mini RX does it, and there must be others because I didn't write the implementation. Targets appearing to support it:

  • FM30_RX_MINI
  • Frsky_RX_R9SLIMPLUS
  • DIY_2400_RX_ESP8285_SX1280 (if the pad isn't used for a button?)

The define is -DUSE_DIVERSITY. I'm not sure what the help text would be, maybe just "Enables receiver antenna switching diversity"?

This isn't a big deal that it isn't there, I wouldn't push a new release for it or anything, but it should be there for 1.0 final. Let me know if you need more information from me.

Testing & flashing pull requests from the configurator app

It would be nice if we could flash and test Github pull requests directly from the configurator app.

This feature will require changes in the API server and UI. Steps required to implement that:

  1. Expand FirmwareSource enum with "PullRequest"
  2. Modify OctopusGithubClient service can provide a pull requests list - an array of objects with id and name properties
  3. Add new graphql query handler for pull requests in SourcesResolver
  4. Expand FirmwareDownloader with pull requests support. On cli level that looks like:
    git fetch origin pull/28/head:NEW_LOCAL_BRANCH_NAME
    git checkout NEW_LOCAL_BRANCH_NAME
    
    But in FirmwareDownloader I think the best way to implement that would be performing syncRepo() first, then this.git.fetch and finally this.git.checkout.
  5. Expand FirmwareVersionDataInput so UI can pass desired Pull Request ID
  6. Handle FirmwareSource.PullRequest in firmware build process at FirmwareService
  7. Create a new query for loading pull request sources in queries folder. getTags query can be used as an example. After the query file is created you have to start the app with yarn start and run yarn run gql-codegen && yarn run lint --fix to generate required types & queries in types.ts.
  8. Expand FirmwareVersionForm with new firmware source
  9. Add support for pull requests in ConfiguratorView
  10. UserDefinesBuilder is loading user_defines.txt from firmware repository. This is an unsolved puzzle on how to load that file from a pull request.

WS2812_IS_GRB User Define

Please include -DWS2812_IS_GRB User Define as an option for the DIY Tx modules on "Git Branch", particularly for /master.

Thank you!

Missing R9 Slim targets

More of a feature than a bug report I guess, but the R9 Slim targets aren't available in the configurator. The environment names are:

  • Frsky_RX_R9SLIM_via_STLINK
  • Frsky_RX_R9SLIM_via_BetaflightPassthrough

Open explorer window to ELRS.lua

After the build process completes, it would be great to have some way of guiding the user to the ELRS.lua that matches with the firmware they just flashed. This would prevent the user from having to go to github to update their LUA, and prevent any chance they would download the HTML instead of the LUA. The file needed is in the source that is downloaded to do the build so they've already downloaded it (src/lua/ELRS.lua)

I'm not sure what the best way to present this to the user is. I would find it annoying if the configurator popped open a bunch of windows at the end of the build, so perhaps a button somewhere? That would be easy to miss but be pretty unobtrusive to the flow of using the configurator.

We discussed this in discord but just wanted to make sure this idea didn't get lost.

ES868Mhz

Hi, I'm new to this world, very good job.
Is it very difficult to separate the 868mHz frequency from 915mHz or 900mHz? Every day it gets more complicated. I think it would be good to differentiate it.
Thank you so much

Target RXs with PWM

Are there any plans to target RXs which have physical PWM headers?

All the ones in configurator seem to be SBUS based, I am interested in trying ELRS on a fixed wing,

Thanks

Error reaching Git repositories

Expected Behavior

build R9M firmware (or any firmware. nothing is working)

Current Behavior

gives me an error regardless of what firmware I try to build.

Steps to Reproduce

Error: Error: fatal: not a git repository (or any of the parent directories): .git

Possible Solution (Not obligatory)

I'm not sure. but I did have another problem with it stopping compiling at a particular line of code that looks like this

Archiving .pio\build\Frsky_TX_R9M_via_stock_BL\lib988\libOTA.a

so I tried going to the support tab and clearing the firmware files. i got this error after clearing them.

Context

i was trying to compile firmware for my R9M TX.
no changes made.

Your Environment

I updated the configurator to the latest version v1.0.5

  • TX hardware: R9M
  • RX hardware: R9MM (haven't tried compiling that firmware yet)

Can not connect to github when build.

When build for a while,it will give a error below.
Error
Error: Error: Cloning into 'C:\Users\10250\AppData\Roaming\ExpressLRS Configurator\firmwares\git'... fatal: unable to access 'https://github.com/ExpressLRS/ExpressLRS/': Failed to connect to github.com port 443: Timed out

position:China
I know it's network problem and i have proxy ,but I dont know how to set up.
Anyone who can give me a hand please?
Thank you very much.
Image 1

Fails when trying to run Passthrough script

Using Windows 10 PC trying to run DIY_2400_RX_ESP8285_SX1280_via_BetaflightPassthrough
ExpressLRS Configurator v0.4.6 failed with the following error message:
Error: No such command "Configurator\firmwares\github\src/python/BFinitPassthrough.py"
However, the file does indeed exist on my computer in : C:\Users\werne\AppData\Roaming\ExpressLRS Configurator\firmwares\github\src\python\BFinitPassthrough.py
It is my suspicion the problem is caused by the space in the name "ExpressLRS Configurator". Windows command line does not like spaces unless you put the whole path in quotes ("")

ST-Link flashing fails on macOS Catalina

Build & flash for an ST-Link target on macOS...build is successful, but flashing fails even though Configurator reports a "Success!" at the end. Here's the end of the log:

Building in release mode
STM ENV: 'GHOST_ATTO_2400_RX_VIA_STLINK'
Checking size .pio/build/GHOST_ATTO_2400_RX_via_STLINK/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  22.4% (used 3668 bytes from 16384 bytes)
Flash: [=====     ]  50.2% (used 32900 bytes from 65536 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, custom, jlink, mbed, stlink
CURRENT: upload_protocol = custom
Uploading .pio/build/GHOST_ATTO_2400_RX_via_STLINK/firmware.bin
Unknown operating system...

========================= [SUCCESS] Took 5.48 seconds =========================

Environment                    Status    Duration
-----------------------------  --------  ------------
GHOST_ATTO_2400_RX_via_STLINK  SUCCESS   00:00:05.476
========================= 1 succeeded in 00:00:05.476 =========================

Same failure happens even if the ST-Link/V2 is disconnected from the computer. The build works fine as I was able to manually flash the bootloader and compiled .bin to the Atto and it works. I also testing building/flashing the Jumper R900 Mini via ST-Link and had the same results.

libappindicator1 dependency on Debian Bullseye

I'm running Debian 11 Bullseye and when installing the .deb package I got the following dependency messages:

$ sudo dpkg -i expresslrs-configurator_0.3.4_amd64.deb
Selecting previously unselected package expresslrs-configurator.
(Reading database ... 296344 files and directories currently installed.)
Preparing to unpack expresslrs-configurator_0.3.4_amd64.deb ...
Unpacking expresslrs-configurator (0.3.4) ...
dpkg: dependency problems prevent configuration of expresslrs-configurator:
expresslrs-configurator depends on gconf2; however:
Package gconf2 is not installed.
expresslrs-configurator depends on libappindicator1; however:
Package libappindicator1 is not installed.

dpkg: error processing package expresslrs-configurator (--install):
dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for mailcap (3.68) ...
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Errors were encountered while processing:
expresslrs-configurator

I could simply install gconf2 with "sudo apt install gconf2" but the package for libappindicator1 doesn't exist for Bullseye, it has been deprecated.

I found a workaround by simply removing the dependency from the package as follows:

$ dpkg-deb -R expresslrs-configurator_0.3.4_amd64.deb expresslrs-configurator

Edit file expresslrs-configurator/DEBIAN/control and remove "libappindicator1, " from the "Depends:" line

$ dpkg-deb -b expresslrs-configurator expresslrs-configurator_0.3.4_amd64_nolibappindicator1.deb
$ sudo dpkg -i expresslrs-configurator_0.3.4_amd64_nolibappindicator1.deb

The configurator seems to work fine without the library, maybe it could/should be removed?

Add retry/wait when using build&flash over wifi

There's some sort of chicken/egg issue with the configurator if you're only connected to wifi without an ethernet connection.

To build the RX firmware you must have an internet connection to reach Github, otherwise you get an error (like mentioned in #11). To flash the the RX via wifi you must be connected to its wifi. There's only a short moment after the build to switch wifis for the configurator being able to reach the RX and push the firmware onto it.

If one is too slow the configurator aborts with an error basically saying it wasn't able to reach 10.0.0.1. Here, it would be helpful if either the configurator waits for a user action before it starts the flashing processing or if it just retries X times before it eventually aborts.

I'm aware I could just build + manually flash it which is what I did. It might even work for those connected via ethernet to the internet and via wifi to the RX.

Flashing Method ? Links broken

Expected Behavior

Flashing method getting started link is broken

Current Behavior

Get a 404 not found, instead of the proper link

Steps to Reproduce

  1. Open configurator

  2. Select HappyModel ES24TX 2400 TX (Probably others as well)

  3. Under flashing method hover over the '?' icons

  4. Click the link in the popup, notice the link takes you to a missing page

Possible Solution (Not obligatory)

Update the getting started links to: https://www.expresslrs.org/1.0/quick-start/getting-started/

Your Environment

  • Operating System and version: Ubuntu 20
  • TX hardware: HappyModel 2.4 GHz
  • RX hardware: HappyModel 2.4 GHz

After build, give "firmware.bin" a meaningful filename

The only useful artifact to the end user after building the firmware in the firmware.bin file.
It seems, the first thing to do when the firmware is built is rename the bin file to something meaningful, such as HappyModel_EP_2400_RX_via_WIFI.bin, and move it to another folder for safe keeping. All the instructional youtube videos I have seen seem to do the same thing.

It would be good if:

  1. File was named according to target (eg HappyModel_EP_2400_RX_via_WIFI.bin)
  2. A "save file" prompt was shown after build so user could choose file location (alternatively this could be a field in the build config GUI)

Configurator selecting wrong serialport

Expected Behavior

Option to select a serialport

Current Behavior

Always selecting the first serialport which is wrong in my case

Steps to Reproduce

a computer with multiple serialports :)

Possible Solution (Not obligatory)

Option to select a serialport

Context

Cant flash my tx

Your Environment

  • Operating System and version: Mac OS
  • TX hardware: ESP32
  • RX hardware:

Unable to start configurator on Debian 10

Expected Behavior

Configurator launches

Current Behavior

Configurator crashes with the trap (no attempt to launch GUI)

Steps to Reproduce

`gdb /usr/bin/expresslrs-configurator
(gdb) run
Starting program: /usr/bin/expresslrs-configurator
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2d2a700 (LWP 28841)]
[Detaching after fork from child process 28842]
[Detaching after fork from child process 28843]

Thread 1 "expresslrs-conf" received signal SIGTRAP, Trace/breakpoint trap.
0x0000555557e2479a in ?? ()
(gdb) bt
#0 0x0000555557e2479a in ()
#1 0x00001b5cf7957538 in ()
#2 0x00007fffffffd710 in ()
#3 0x00001b5cf794f9a0 in ()
#4 0x00001b5cf791a7f0 in ()
#5 0xffffffffffffd6e0 in ()
#6 0x00001b5cf79387e8 in ()
#7 0x0000000000000000 in ()

git version
git version 2.30.2

uname -v
#1 SMP Debian 4.19.181-1 (2021-03-19)

cat /etc/debian_version
10.10

dpkg -l expresslrs-configurator | grep ii
ii expresslrs-configurator 0.5.3 amd64

ldd /usr/bin/expresslrs-configurator | fgrep 'not found'
libffmpeg.so => not found

`
gconf2 gconf-service python3-distutils are installed.
What can i do to get it to run on Debian Buster?

Music melody in RTTTL format

It would be nice to have music notation in the RTTTL format?

There is already a Python library ready made to make conversion easier called RTTTL-parse!

Wifi Targets for Backpack (e.g. NamimnoRC TX)

Expected Behavior

Configurator should show firmware.elrs or firmware.bin (DFU Mode) because the Backpack code expects these filenames as per
https://github.com/ExpressLRS/ExpressLRS/blob/3992c28012e704d2309903b2c6f2c49e74b9d462/src/ESPbackpack/src/main.cpp#L197

Current Behavior

Configurator would show the {DeviceName}-{version}.elrs instead, resulting the upload field to produce the error message "OOPS! Incorrect firmware file! Please select correct file."

Steps to Reproduce

  1. Build Wifi Firmware for NamimnoRC TX Voyager or Flash. File will be NamimnoRC_FLASH_2400_TX-{version}.elrs

  2. Turn on Module and navigate to http://elrs_tx.local (once ESP Wifi Manager is configured to connect to local Wifi)

  3. Drag-and-drop the NamimnoRC_FLASH_2400_TX-{version}.elrs file into the STM32 Firmware Update section

  4. OOPS! Incorrect firmware file! Please select correct file can be read under the upload field.

Possible Solution (Not obligatory)

Expose the /ExpressLRS Configurator/firmwares/github/src/.pio/build/{Target}/ folder again for these particular STM-based targets

Context

Updating a NamimnoRC TX module (which has a backpack) via Wifi,

Your Environment

  • Operating System and version: Windows 10 20H2 (19042.1165)
  • TX hardware: NamimnoRC TX
  • RX hardware: n/a

ExpresseLRS-Configurator setup flagged by Windows Security as containing malware (Trojan:Win32/Emali.Ac!l)

Expected Behavior

Installation of the configurator on Windows 10 using the ExpressLRS-Configurator-Setup-0.5.3.exe

Current Behavior

Flagged as malware (trojan:Win32/Emali.Ac!l) by Microsoft Defender (default Windows Security), file quarantined, cannot install.

ExpressLRS-configurator-virus

Steps to Reproduce

Downloaded ExpressLRS-Configurator-Setup-0.5.3.exe from Releases page
Double-clicked on the *.exe to start the setup
Windows Defender prevents the configurator setup to launch, indicates that it contains a trojan (see screenshot).

Tried previous version (ExpressLRS-Configurator-Setup-0.5.2.exe), same issue.

Please note: if a third-party security suite/antivirus is installed on the PC, Microsoft Defender is partly or fully disabled and the issue will not occur.

Possible Solution (Not obligatory)

Most likely a false positive with Microsoft Defender. The file is clean according to Avast, for instance. Annoying anyway as Defender is probably the primary security solution by default for most Windows 10 users. Tested on three different computers, on separate networks. If the cause of this flagging as a severe threat by Microsoft cannot be identified and resolved and the file is confirmed clean by the devs, a warning about this false positive on the Releases page would perhaps be useful.

Context

Building confidence in ExpressLRS, a very nice RC system. Installed on an old laptop instead, after disabling Windows Security, very pleased with the software/hardware solution, great work ! It would be a shame for this issue to drive potential users away.

Your Environment

  • Operating System and version: Windows 10 build 19043.1052, Defender virus and threat definitions up to date as of July 2, 2021.
  • TX hardware: Happymodel ES24TX (not relevant for this issue)
  • RX hardware: Happymodel EP1 (ditto)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.