Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secure 3.5.3 #11

Open
wants to merge 211 commits into
base: secure_01
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
d7524c4
increase-SX1276-SyncPktIntervalDisconnected-for-25Hz (#2589)
JyeSmith Mar 28, 2024
7eb760f
Ignore trailing items with 0 duration (#2612)
pkendall64 Mar 28, 2024
c9e7bcf
Fix "Not set" UID badge (#2619)
pkendall64 Mar 31, 2024
3c04b8d
Allow choosing the SubGHz domain for LR1121 modules (#2618)
pkendall64 Mar 31, 2024
62faf7f
WebUI: prevent multiple I2C SCL/SDA selections (#2624)
mha1 Mar 31, 2024
05ebcfe
fix antenna value for Diversity/Gemini receivers (#2622)
JyeSmith Apr 1, 2024
1dcf70b
Fix LR1121 binding (#2617)
JyeSmith Apr 1, 2024
11fde07
Merge pull request #2628 from ExpressLRS/master
wvarty Apr 2, 2024
230d236
Adds LR1121 image calibration (#2616)
JyeSmith Apr 3, 2024
57cf9d7
add r flag to encode string as raw string to fix deprecation (#2598)
schugabe Apr 3, 2024
07445f2
Passthrough handset channels if headtracking switch is off (#2615)
CapnBry Apr 3, 2024
c456440
HoTT Telemetry: robustness measure (#2631)
mha1 Apr 3, 2024
cd028f6
Fixes #2623 behavior for the LUA script UI (#2630)
mha1 Apr 5, 2024
40df0fb
Add BMP280/BME280 I2C barometer support (#2480)
CapnBry Apr 5, 2024
81bac98
-1 (0xff) is a valid power value for SX1280/LR1121 (#2638)
pkendall64 Apr 5, 2024
df9c63d
prevent WaitOnBusy from waiting on non-existing radio (#2640)
Apr 5, 2024
add3ce0
Fix the dropdown being clipped (#2637)
pkendall64 Apr 6, 2024
3600b87
GH-2645 Disabled advertisement of default gateway to DHCP clients (#2…
padcom Apr 9, 2024
7ab3cf8
Added information about the target (#2649)
padcom Apr 11, 2024
6651bd5
Fix the power-on-counter reset so it does not cause a connection loss…
pkendall64 Apr 12, 2024
1fb140f
LBT - change tx modules to use rxmode with timeout (#2643)
JyeSmith Apr 13, 2024
d786b02
[LR1121] Decrease PACKET_TO_TOCK_SLACK (#2621)
JyeSmith Apr 13, 2024
14ac425
remove generics from targets.json during artifact generation (#2654)
pkendall64 Apr 14, 2024
35c3d28
Save our help-and-support bretheren (#2659)
pkendall64 Apr 17, 2024
210e938
Fix for TBS Tango 2 display (#2661)
dangerousvasil Apr 17, 2024
f8d3979
Debounce BOOT0 readout in the hot loop (#2633)
JoeHut Apr 17, 2024
0a25c7f
fixes HoTT Telemetry requiring an external diode (#2658)
mha1 Apr 17, 2024
d0e6304
adds previousMean() to MeanAccumulator (#2663)
JyeSmith Apr 18, 2024
177339d
WORD_PADDED was returning number of words not bytes (#2664)
CapnBry Apr 18, 2024
616bfcf
add padding to buffer (#2666)
schugabe Apr 18, 2024
03d6ec2
Fix S3 flashing to the via UART/ETX modes (#2665)
pkendall64 Apr 19, 2024
c78c5d0
Fix LBT TLM (#2660)
JyeSmith Apr 19, 2024
cc4abe0
Hide button color elements if not supported (#2668)
pkendall64 Apr 20, 2024
49dfe66
Add missing LNA gain to the hardware.html page (#2670)
pkendall64 Apr 21, 2024
49bb6fc
Fix logging on TX modules (#2675)
pkendall64 Apr 22, 2024
96cca3d
Fix boot-loop when no hardware definition uploaded (#2674)
pkendall64 Apr 22, 2024
45d3a28
Extend RSSI settling time for 50Hz LoRa mode (#2672)
pkendall64 Apr 24, 2024
c4f4cc1
wait for multiple errors before stopping the wifi joystick (#2680)
schugabe Apr 26, 2024
d731fc4
Reset LQ to 100% on packet rate cycling (#2682)
CapnBry Apr 27, 2024
43b97c0
Fix PWM issue of esp8266 device when duty is 0 (#2684)
Ncerzzk Apr 27, 2024
256a7f7
fixes #2688 (#2689)
mha1 May 3, 2024
10b9dd8
Fix GetLastPacketStats()... again
JyeSmith May 5, 2024
5904983
Merge pull request #2695 from ExpressLRS/Fix-GetLastPacketStats().-again
wvarty May 6, 2024
538a375
Fix for compilation error when verbose logging is enabled. (#2694)
hydra May 6, 2024
4dbc121
GemX-Lua-RF-Mode-Labels (#2690)
JyeSmith May 10, 2024
acab3ba
Avoid redefined warning when enabling DEBUG_CRSF_NO_OUTPUT and DEBUG_…
hydra May 10, 2024
6b65ab1
Fixes LBT for airport and not clearing the expecting TLM flag
pkendall64 May 10, 2024
ca31cb2
Remove-unnecessary-SetClearChannelAssessmentTime 🍟
JyeSmith May 10, 2024
128c151
Remove the resetting of the TelemetryRcvPhase flag
pkendall64 May 10, 2024
756f5bf
Merge pull request #2700 from pkendall64/once-more-into-the-breach
mha1 May 10, 2024
64ff465
Update rfmodelastcycled at the end of setup() (#2703)
JyeSmith May 11, 2024
499697c
fixes SBUS last position failsafe mode (#2706)
mha1 May 18, 2024
81cd4da
Merge pull request #2653 from ExpressLRS/3.x.x-maintenance
pkendall64 May 19, 2024
28f724c
ESP32 C3 RX support (#2610)
pkendall64 May 19, 2024
e36f68a
Only allow one push to a hash in artifactory (#2719)
pkendall64 May 21, 2024
a7f27a5
All zeros is unbound, not just any zero! (#2721)
pkendall64 May 21, 2024
119962a
Adds LR1121 startCWTest (#2709)
JyeSmith May 21, 2024
a1b4b9e
Add ESP32 S3 lr1121 targets (#2698)
radio-mistress May 21, 2024
2d17088
Add extra lines for larger screen (e.g. Jumper T15) (#2717)
pkendall64 May 22, 2024
fdf9440
WebUI gzip reminder fix (#2724)
deadbytefpv May 23, 2024
1e642e9
Updated README for v3.4 (#2739)
SunjunKim May 28, 2024
a2f5ec9
Add more captive portal junk (#2738)
pkendall64 May 29, 2024
ab1fb38
Add missing getCycleCount which sets the timer to trigger in the futu…
pkendall64 May 30, 2024
3721ee8
Prevent immediatel leaving bind mode if initrate change pending (#2745)
CapnBry May 31, 2024
7b93b68
On the C3 we need our own main loop handler (#2716)
pkendall64 Jun 1, 2024
2cab1cb
Fixes for S3/C3 betaflight passthrough flashing (#2714)
pkendall64 Jun 1, 2024
a3a7797
Fake progress time increase to 10s for ESP8285 (#2750)
SunjunKim Jun 1, 2024
ac355bf
Lower webui config heap allocation on ESP32 (#2727)
CapnBry Jun 1, 2024
9cf3388
VTXAdmin PitMode On using YAW channel to trigger (#2740)
CapnBry Jun 1, 2024
5b37d2d
Merge branch '3.x.x-maintenance' into merge-3.4.2-into-master
JyeSmith Jun 1, 2024
e401cbb
Add optional secondary serial device to ESP32 receivers (#2605)
mha1 Jun 1, 2024
28c3e9c
Upgrade JSON library (#2732)
pkendall64 Jun 2, 2024
32877ec
Merge branch 'master' into merge-3.4.2-into-master
pkendall64 Jun 2, 2024
4386f86
Merge pull request #2754 from ExpressLRS/merge-3.4.2-into-master
pkendall64 Jun 2, 2024
074c22a
Extend HoTT TLM sensor search discovery period (#2763)
mha1 Jun 8, 2024
528e312
correct receiver LBT TXdoneCallback (#2768)
JyeSmith Jun 12, 2024
8b606e1
Use empty sector before the FS partition for 8266 power-on-counter (#…
pkendall64 Jun 12, 2024
6058709
Check file type being uploaded. (#2756)
deadbytefpv Jun 13, 2024
08f0227
Avoid potential divide by zero (#2781)
CapnBry Jun 16, 2024
47720f5
Fire TXdone when TLM forced off too (#2779)
CapnBry Jun 16, 2024
a1b398d
MAVLink support for ELRS (#2753)
wvarty Jun 17, 2024
132ab0e
clear all form data before updating hardware setting (#2780)
Ncerzzk Jun 17, 2024
ea3e6ac
Don't keep the binding phrase as a compile parameter (#2785)
pkendall64 Jun 17, 2024
41daca2
bug: increase ESP8266 hwTimer::resume buffer (#2786)
JyeSmith Jun 17, 2024
753df25
Move mavlink dep to non-default section to remove warning (#2794)
MUSTARDTIGERFPV Jun 19, 2024
9a16d28
Merge branch '3.x.x-maintenance' into Merge-3.4.3-into-master
JyeSmith Jun 19, 2024
816a492
Remove mav_ul (#2798)
JyeSmith Jun 20, 2024
6463750
Change rx to PROTOCOL_MAVLINK if mav packets are received (#2799)
JyeSmith Jun 20, 2024
84d1802
Replace syncSpamAResidualTimeMS with a counter (#2797)
JyeSmith Jun 21, 2024
011abb3
Merge pull request #2800 from ExpressLRS/Merge-3.4.3-into-master
pkendall64 Jun 22, 2024
e0b1d0e
prevent rogue spi write when there is no radio2 (#2803)
JyeSmith Jun 23, 2024
e4ef08f
Handset Communication Optimisations (#2772)
pkendall64 Jun 23, 2024
f000995
Adds Rx fan support (#2492)
thesacredmoocow Jun 24, 2024
f7f7043
Improve tlm sends when using lbt (#2770)
JyeSmith Jun 24, 2024
3a711bc
Translate MAVLink telemetry to CRSF on the handset (rebased) (#2808)
wvarty Jun 25, 2024
684b374
LR1121 - more rogue spi write when there is no radio2 (#2807)
JyeSmith Jun 25, 2024
5ecd7b3
Correct diversity rx tlm radio selection for non LBT (#2812)
JyeSmith Jun 27, 2024
61eb774
Fixes Arduino core Serial0 problem related to inverting signal polari…
mha1 Jul 7, 2024
a8a3bce
LR1121 FSK (#2789)
JyeSmith Jul 7, 2024
fe0f944
fix DEBUG_TX_FREERUN (#2823)
Jul 9, 2024
e2f5faf
Binding Storage Returnable (#2744)
CapnBry Jul 10, 2024
72cd018
First draft at adding Tramp VTX support to RXes
MUSTARDTIGERFPV Jul 11, 2024
329b82f
Fix up some mistakes
MUSTARDTIGERFPV Jul 12, 2024
81564c4
Remove unused variables
MUSTARDTIGERFPV Jul 12, 2024
e675ee4
Reformat SerialTramp.h
MUSTARDTIGERFPV Jul 12, 2024
eb8c8ba
devSerialIO refactor (#2816)
mha1 Jul 12, 2024
2ec7bab
luaLinkMode - protect from change while connected (#2813)
JyeSmith Jul 12, 2024
beed4b7
Add native SmartAudio support
MUSTARDTIGERFPV Jul 12, 2024
7c3a77d
Improve our freq/chan logic
MUSTARDTIGERFPV Jul 12, 2024
2d4b167
Fix mavlink for internal modules (#2818)
JyeSmith Jul 12, 2024
e43b435
Update Tramp power levels, improve freq/chan logic
MUSTARDTIGERFPV Jul 12, 2024
214cad3
MAVLink: only use a single com buffer
IamPete1 Jul 14, 2024
3a61707
RX LUA: make (SBUS) Failsafe Mode line visible (#2787)
mha1 Jul 15, 2024
8d85aef
add bleJoystick as a button event (#2842)
JyeSmith Jul 15, 2024
eea2677
Refactor to resolve web flashing failure after optimization (#2845)
CapnBry Jul 15, 2024
e463842
Remove two sources of telemetry startup hangs (#2839)
CapnBry Jul 15, 2024
fa89fdd
feat: show error in Lua if ELRS module not enabled (#2833)
pfeerick Jul 15, 2024
0a1f87c
Merge branch 'master' into feature-tramp
pkendall64 Jul 16, 2024
2b425b8
Fix build
pkendall64 Jul 16, 2024
2f0d5a8
Add half-duplex UART support for Tramp
MUSTARDTIGERFPV Jul 16, 2024
64aeb39
Add native SmartAudio support
MUSTARDTIGERFPV Jul 12, 2024
7776b7b
Improve our freq/chan logic
MUSTARDTIGERFPV Jul 12, 2024
c6e5803
Add half-duplex support for SmartAudio
MUSTARDTIGERFPV Jul 16, 2024
57c1425
Merge branch 'feature-smartaudio' of https://github.com/ExpressLRS/Ex…
MUSTARDTIGERFPV Jul 16, 2024
297e261
Merge branch 'feature-tramp' of https://github.com/ExpressLRS/Express…
MUSTARDTIGERFPV Jul 16, 2024
8372cd0
Set rx_main to UNDEF_PIN for Tramp RX
MUSTARDTIGERFPV Jul 16, 2024
6a38da8
Fix git merge noise
MUSTARDTIGERFPV Jul 16, 2024
4a0a222
Fix going to RX mode too soon
MUSTARDTIGERFPV Jul 17, 2024
0c97a5c
Merge branch 'feature-tramp' into feature-smartaudio
MUSTARDTIGERFPV Jul 17, 2024
1d8a3d0
Fix RX mode set and Lua protocol list
MUSTARDTIGERFPV Jul 17, 2024
f861aa0
Harrumph, underpec'd hardware!
pkendall64 Jul 17, 2024
b59fcbe
Use UART idle & space out transmits for OVTX
MUSTARDTIGERFPV Jul 18, 2024
d9607be
Merge branch 'feature-tramp' into feature-smartaudio
MUSTARDTIGERFPV Jul 18, 2024
46110a4
Fix ESP8266 builds, go to RX faster
MUSTARDTIGERFPV Jul 18, 2024
85d65d0
Merge branch 'feature-tramp' into feature-smartaudio
MUSTARDTIGERFPV Jul 18, 2024
0fa6c8d
Make SmartAudio half-duplex work properly
MUSTARDTIGERFPV Jul 18, 2024
749d50c
Add include guard
MUSTARDTIGERFPV Jul 18, 2024
1c8bf32
Merge branch 'feature-tramp' into feature-smartaudio
MUSTARDTIGERFPV Jul 18, 2024
aab1c43
Add include guard
MUSTARDTIGERFPV Jul 18, 2024
f174f03
Add native Tramp VTX support (#2835)
MUSTARDTIGERFPV Jul 18, 2024
734563b
Merge branch 'master' into feature-smartaudio
MUSTARDTIGERFPV Jul 18, 2024
185dd3f
Merge pull request #2836 from ExpressLRS/feature-smartaudio
MUSTARDTIGERFPV Jul 18, 2024
354ea7e
Enable two slot fifo for all crsf ext frames (#2834)
schugabe Jul 18, 2024
d23d05d
Merge pull request #2848 from pkendall64/wifi-power-downgrade
MUSTARDTIGERFPV Jul 18, 2024
92b6456
Merge pull request #2846 from IamPete1/MAVLink-num-buffers
MUSTARDTIGERFPV Jul 18, 2024
415578a
Fix lua lockup on launch due to previously-fixed function name (#2850)
CapnBry Jul 19, 2024
abfedf9
LR1121 RF Switch Configuration (#2824)
pkendall64 Jul 19, 2024
a47a25c
LR1121 - Adds FEC to 2.4GHz FSK (#2832)
JyeSmith Jul 19, 2024
cdce7a1
Allow flashing an RX as a TX (#2826)
pkendall64 Jul 20, 2024
0ded639
LR1121 firmware upload (#2825)
pkendall64 Jul 21, 2024
cf897d8
Optimise SPI VTX startup (no delay) (#2851)
pkendall64 Jul 26, 2024
a9209e4
Add linkstats to module display (#2843)
JyeSmith Jul 26, 2024
1cef44f
Use mavlink_frame_char on RX MAVLink, which seems to be better in tes…
MUSTARDTIGERFPV Jul 27, 2024
6e9ee16
Mavlink - Configure Tx modules to work as standalone transmitters wit…
JyeSmith Jul 27, 2024
f3cc5e6
Mavlink - disable tlm and switch options in Lua (#2814)
JyeSmith Jul 27, 2024
4d8870e
Fix error from refactoring (#2865)
pkendall64 Jul 30, 2024
ef41bf5
Unremove firmwareOptions uid when customizing (#2870)
CapnBry Jul 30, 2024
55d6d3f
Update MAVLink to CRSF (#2868)
MUSTARDTIGERFPV Aug 1, 2024
d9f56f8
Allow Backpack in MAVLink mode to come back to Normal mode automatica…
MUSTARDTIGERFPV Aug 2, 2024
272592d
Merge pull request #2863 from ExpressLRS/master
pkendall64 Aug 3, 2024
48a570a
Fix LR1121 binding compatibility (#2884)
JyeSmith Aug 11, 2024
668d979
Parse MSP messages from the backpack while TX is in mavlink mode (#2883)
wvarty Aug 17, 2024
f0ddf40
Add support for setting Source and Target sysID (#2886)
LupusTheCanine Aug 18, 2024
8feb36e
Extend Backpack telemetry forwarding options (#2885)
wvarty Aug 20, 2024
d3913a9
Must be running stub for erase-all to work correctly (#2894)
pkendall64 Aug 23, 2024
ee6eb91
Reduces RMT clock for PPM input so it works on S3 devices as well (#2…
pkendall64 Aug 23, 2024
dd7fae7
Fix the setting for disabled wifi-auto-on-internal when -1 (#2897)
pkendall64 Aug 26, 2024
ebdcd90
Allow tag builds to always upload artifacts (#2907)
pkendall64 Sep 1, 2024
98409ee
Remove the auto protocol detection for now, as it is false-triggering…
wvarty Sep 3, 2024
b3b43dd
Fixes 3 issues with the displays (#2916)
pkendall64 Sep 6, 2024
07d2aa1
Backport #2931 "Split RC data sending from polling and queued data se…
pkendall64 Sep 23, 2024
6862ade
allow radios that don't provide a module type (#2950)
Martin-Schlodinski Sep 23, 2024
b3d3c23
Fix entering BLE screen display blowing out memory! (#2944)
pkendall64 Sep 26, 2024
67ee680
Fix allowed rf modes in tx lua (#2954)
JyeSmith Sep 26, 2024
ad5865e
Fix the stubborn receiver restart case (#2963)
pkendall64 Sep 30, 2024
e99fdde
Reset `useFEC` flag when using non-FSK modes (#2966)
pkendall64 Oct 3, 2024
e248004
Prevent vtx msp on tx boot (#2965)
JyeSmith Oct 5, 2024
f526c4a
housekeeping: get rid of some compiler warnings
mha1 Oct 11, 2024
82750d5
removes compiler warning
mha1 Oct 11, 2024
43c7e51
removes compiler warning
mha1 Oct 11, 2024
4195d16
Merge pull request #2980 from mha1/PR_house_keeping_warnings
JyeSmith Oct 15, 2024
51b09c2
removes two ununsed variables compiler warnings
mha1 Oct 15, 2024
ce5e19a
Merge pull request #2986 from mha1/PR_house_keeping_warnings_2
JyeSmith Oct 16, 2024
dc9c982
airport fix
JyeSmith Oct 17, 2024
f5e729f
correct airport baud when a non crsf protocol is selected on the rx
JyeSmith Oct 17, 2024
3e12f19
actually send airport data to the rx :|
JyeSmith Oct 17, 2024
978e078
restore linkstats packet
JyeSmith Oct 18, 2024
b9dcc02
Send link stats if no telem queued
wvarty Oct 19, 2024
08b37d3
Merge pull request #2988 from ExpressLRS/airport-fix
JyeSmith Oct 19, 2024
78599dd
Fix STM32 flashing options (#2997)
pkendall64 Oct 20, 2024
ed24ea4
LUA: show protocol2 only on receivers with serial1_TX or PWM pins def…
mha1 Oct 21, 2024
9186570
Remove Serial1 MAVLink check; MAVLink is supported on Serial0 only (#…
MUSTARDTIGERFPV Oct 21, 2024
ef42096
Maintain link connection on config.commit() for team900 (#3014)
JyeSmith Nov 2, 2024
7a2af13
Allow LR1121 single RF path (#2998)
pkendall64 Nov 2, 2024
7ac5f4d
Fix ble reporting wrong as "gamepad" instead of "joystick" (#3013)
MNS26 Nov 3, 2024
40555e1
Return TX to configured RF mode after binding (#3035)
JyeSmith Nov 18, 2024
afa593b
Merge branch 'branch_3.5.3' into secure_3.5.3
sensei-hacker Dec 8, 2024
b57ef70
RandRSSI function for LR1121
ToToSpl Oct 11, 2024
9036cfc
remove trailing whitespace
sensei-hacker Dec 8, 2024
6bdb547
build.yml: Delete action to upload to ExpressLRS S3
sensei-hacker Dec 8, 2024
5190f86
Remove HEAD from merge
sensei-hacker Dec 8, 2024
d4d501b
remove duplicate declaration of MSPDataPackage
sensei-hacker Dec 8, 2024
7cb5557
remove duplicate declaration of MSPDataPackage
sensei-hacker Dec 8, 2024
85b8b85
Remove HEAD from merge
sensei-hacker Dec 8, 2024
c9fc538
add MSP_ELRS_BACKPACK_CONFIG_TLM_MODE that was lost in merge
sensei-hacker Dec 8, 2024
138bbaa
add MSP_ELRS_BACKPACK_CONFIG_TLM_MODE that was lost in merge
sensei-hacker Dec 8, 2024
06a9579
Merge pull request #8 from sensei-hacker/LR1121
sensei-hacker Dec 11, 2024
8106276
comment unused GetRandom32t()
sensei-hacker Jan 19, 2025
7ff3d6c
correct radio typo for SX127X
sensei-hacker Jan 19, 2025
dfacc8e
tx_main: move CAD mode out of the loop
sensei-hacker Jan 19, 2025
2a68a5e
Merge pull request #10 from sensei-hacker/correct_radio_num_SX127X
sensei-hacker Feb 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 6 additions & 32 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,9 @@ jobs:
merge-multiple: true

- name: Copy hardware files to firmware folder
run: cp -r src/hardware dist/firmware
run: |
cp -r src/hardware dist/firmware
jq 'del(.generic)' src/hardware/targets.json > dist/firmware/hardware/targets.json

- name: Copy Lua to to firmware folder
run: |
Expand All @@ -165,7 +167,7 @@ jobs:
- name: Build flasher "binary" with shiv
run: |
cd src/python
pip install shiv
pip install shiv==1.0.6
shiv -c flash -o ../../dist/firmware/flasher.pyz pyserial .

- name: Update firmware artifact
Expand All @@ -179,33 +181,5 @@ jobs:
cd dist
zip -r -9 ../firmware.zip ./firmware

- name: Upload firmware bundle to ExpressLRS artifactory
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_ENDPOINT_URL: ${{ secrets.AWS_ENDPOINT_URL }}
AWS_REGION: "auto"
run: |
if [[ -z $AWS_ACCESS_KEY_ID || -z $AWS_SECRET_ACCESS_KEY || -z $AWS_ENDPOINT_URL ]]; then
echo "Artifactory credentials are not defined. Most likely action is running from pull request. Not a bug."
exit 0
fi

echo "Uploading firmware to artifactory"
aws s3 cp --endpoint-url $AWS_ENDPOINT_URL firmware.zip s3://expresslrs/ExpressLRS/$GITHUB_SHA/firmware.zip

echo "Generating artifact index"
aws s3 ls --endpoint-url $AWS_ENDPOINT_URL s3://expresslrs/ExpressLRS/ | awk '{print $2}' | sed s/\\/// > /tmp/hashes
echo '{' > index.json
echo '"branches": {' >> index.json
git branch --list --remotes --format '"%(refname:short)": "%(objectname)",' | grep origin/ | sed s/origin.// | grep -f /tmp/hashes | head -c-2 >> index.json
echo '' >> index.json
echo '},' >> index.json
echo '"tags": {' >> index.json
git tag --list --format '"%(refname:short)": "%(objectname)",' | grep -f /tmp/hashes | head -c-2 >> index.json
echo '' >> index.json
echo '}' >> index.json
echo '}' >> index.json

echo "Uploading artifact index"
aws s3 cp --endpoint-url $AWS_ENDPOINT_URL index.json s3://expresslrs/ExpressLRS/index.json

# DELETED - name: Upload firmware bundle to ExpressLRS artifactory
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,10 @@ security.

## About ExpressLRS

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](http://edgetx.org/). With over 60 different hardware targets and 13 hardware manufacturers, the choice of hardware is ever growing, with different hardware suited to different requirements.
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](http://edgetx.org/). 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 / PrivacyLRS hardware, the ExpressLRS Configurator can be used, which is found here:

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


20 changes: 17 additions & 3 deletions src/html/cw.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@@require(PLATFORM, VERSION)
@@require(PLATFORM, VERSION, chip)
<!DOCTYPE HTML>
<html>

Expand All @@ -19,10 +19,10 @@ <h1><b>ExpressLRS</b></h1>
<br>
<div class="mui-container-fluid mui-col-sm-10 mui-col-sm-offset-1">
<div class="mui-panel">
This page puts the SX1280 into a mode where it transmits a continuous wave with a center frequency of 2.440 GHz.
This page puts the Semtech LoRa chip into a mode where it transmits a continuous wave with a center frequency of <span id="frequency"></span> MHz.
<br>
You can then measure the actual continuous wave center frequency using a spectrum analyzer and enter the measured value below
and this will be used to calculate the accuracy of the 52MHz crystal used in the device and how far it differs from the ideal frequency.
and this will be used to calculate the accuracy of the crystal used in the device and how far it differs from the ideal frequency.
<form>
<div id="radioOption" class="mui-radio" style="display: none;">
<label>
Expand All @@ -41,6 +41,20 @@ <h1><b>ExpressLRS</b></h1>
Radio 2
</label>
</div>
<br>
@@if chip == 'LR1121':
Basic support is available for the LR1121 and setting 915 MHz.
<br>
<div class="mui-checkbox">
<label>
<input type="checkbox"
name="setSubGHz"
id="optionsSetSubGHz">
Set 915 MHz
</label>
</div>
@@end
<br>
<button id="start-cw" class="mui-btn mui-btn--primary" disabled>Start Continuous Wave</button>
</form>
<br>
Expand Down
52 changes: 44 additions & 8 deletions src/html/cw.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,54 @@
@@require(chip)
/* eslint-disable max-len, require-jsdoc */
document.addEventListener('DOMContentLoaded', init, false);

function _(el) {
return document.getElementById(el);
}

const cwFreq = 2440000000;
const xtalNominal = 52000000;
var cwFreq = 2440000000;
var xtalNominal = 52000000;
var warn_offset;
var bad_offset;

function updateParams(data) {
cwFreq = data.center;
@@if chip == 'SX128X':
xtalNominal = 52000000;
warn_offset = 90000;
bad_offset = 180000;
@@end
@@if chip == 'SX127X':
xtalNominal = 32000000;
warn_offset = 100000;
bad_offset = 125000;
@@end
@@if chip == 'LR1121':
xtalNominal = 32000000;
warn_offset = 100000;
bad_offset = 125000;
if (!_('optionsSetSubGHz').checked) {
cwFreq = data.center2;
}
@@end
_('frequency').textContent = (cwFreq / 1000000).toString();
_('start-cw').disabled = false;
}

function init() {
const xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if (this.readyState === 4 && this.status === 200) {
const data = JSON.parse(this.responseText);
if (data.radios == 2) {
if (data.radios === 2) {
_('radioOption').style.display = 'block';
}
_('start-cw').disabled = false;
@@if chip == 'LR1121':
_('optionsSetSubGHz').onclick = () => {
updateParams(data);
}
@@end
updateParams(data);
}
};
xmlhttp.open('GET', '/cw', true);
Expand All @@ -34,20 +66,24 @@ _('start-cw').onclick = (e) => {
xmlhttp.onreadystatechange = function() {};
const formdata = new FormData;
formdata.append('radio', _('optionsRadios1').checked ? 1 : 2);
@@if chip == 'LR1121':
formdata.append('subGHz', _('optionsSetSubGHz').checked ? 1 : 0);
_('optionsSetSubGHz').disabled = true;
@@end
xmlhttp.send(formdata);
};

_('measured').onchange = (e) => {
const calc = (e.target.value/cwFreq)*xtalNominal;
_('calculated').innerHTML = Math.round(calc);
_('offset').innerHTML = Math.round(calc - xtalNominal) / 1000;
_('ppm').innerHTML = Math.abs(Math.round(calc - xtalNominal)) / 52;
_('ppm').innerHTML = Math.abs(Math.round(calc - xtalNominal)) / (xtalNominal /1000000);
const rawShift = Math.round(e.target.value - cwFreq);
_('raw').innerHTML = rawShift / 1000;
let icon;
if (Math.abs(rawShift) < 90000) {
if (Math.abs(rawShift) < warn_offset) {
icon = `<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="64" height="64" viewBox="0 0 96 96" enable-background="new 0 0 96 96" xml:space="preserve"><g><path fill-rule="evenodd" clip-rule="evenodd" fill="#6BBE66" d="M48,0c26.51,0,48,21.49,48,48S74.51,96,48,96S0,74.51,0,48 S21.49,0,48,0L48,0z M26.764,49.277c0.644-3.734,4.906-5.813,8.269-3.79c0.305,0.182,0.596,0.398,0.867,0.646l0.026,0.025 c1.509,1.446,3.2,2.951,4.876,4.443l1.438,1.291l17.063-17.898c1.019-1.067,1.764-1.757,3.293-2.101 c5.235-1.155,8.916,5.244,5.206,9.155L46.536,63.366c-2.003,2.137-5.583,2.332-7.736,0.291c-1.234-1.146-2.576-2.312-3.933-3.489 c-2.35-2.042-4.747-4.125-6.701-6.187C26.993,52.809,26.487,50.89,26.764,49.277L26.764,49.277z"/></g></svg>`;
} else if (Math.abs(rawShift) < 180000) {
} else if (Math.abs(rawShift) < bad_offset) {
icon = `
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 20 20">
<style type="text/css">.cls-1{ fill: #fc3 }</style>
Expand Down
2 changes: 1 addition & 1 deletion src/html/elrs.css
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,6 @@ body, input, select, textarea {

/* Custom code for ExpressLRS PWM Output table */
.pwmpnl {
overflow-x: auto;
min-width: fit-content;
}
.pwmtbl table {
Expand All @@ -365,6 +364,7 @@ body, input, select, textarea {
.pwmitm {
min-width: 6em;
white-space: nowrap;
width: fit-content;
}

/*==========================*/
Expand Down
8 changes: 7 additions & 1 deletion src/html/hardware.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@@require(PLATFORM, VERSION, isTX, sx127x)
@@require(PLATFORM, VERSION, isTX)
<!DOCTYPE HTML>
<html lang="en">

Expand Down Expand Up @@ -86,6 +86,10 @@ <h1><b>ExpressLRS</b></h1>
<tr><td width="30"></td><td>RX pin<img class="icon-input"/></td><td><input size='3' id='serial_rx' name='serial_rx' type='text'/></td><td>Pin used to receive CRSF signal from the handset</td></tr>
<tr><td></td><td>TX pin<img class="icon-output"/></td><td><input size='3' id='serial_tx' name='serial_tx' type='text'/></td><td>Pin used to transmit CRSF telemetry to the handset (may be the same as the RX PIN)</td></tr>

<tr><td colspan='2'><b>Serial2 Pins</td></tr>
<tr><td width="30"></td><td>RX pin<img class="icon-input"/></td><td><input size='3' id='serial1_rx' name='serial1_rx' type='text'/></td><td>Serial2 RX - ESP32 targets only</td></tr>
<tr><td></td><td>TX pin<img class="icon-output"/></td><td><input size='3' id='serial1_tx' name='serial1_tx' type='text'/></td><td>Serial2 TX - ESP32 targets only</td></tr>

<tr><td colspan='2'><b>Radio Chip Pins & Options</td></tr>
<tr><td></td><td>BUSY pin<img class="icon-input"/></td><td><input size='3' id='radio_busy' name='radio_busy' type='text'/></td><td>GPIO Input connected to SX128x busy pin</td></tr>
<tr><td></td><td>DIO0 pin<img class="icon-input"/></td><td><input size='3' id='radio_dio0' name='radio_dio0' type='text'/></td><td>Unused on SX128x, Interrupt pin for SX127x</td></tr>
Expand All @@ -103,6 +107,7 @@ <h1><b>ExpressLRS</b></h1>
<tr><td></td><td>RST_2 pin<img class="icon-output"/></td><td><input size='3' id='radio_rst_2' name='radio_rst_2' type='text'/></td><td>Reset pin connected to second SX1280/127x</td></tr>
<tr><td></td><td>DCDC enabled</td><td><input size='3' id='radio_dcdc' name='radio_dcdc' type='checkbox'/></td><td>Use the SX1280 DC-DC converter rather than LDO voltage regulator (15uH inductor must be present)</td></tr>
<tr><td></td><td>RFO_HF enabled</td><td><input size='3' id='radio_rfo_hf' name='radio_rfo_hf' type='checkbox'/></td><td>SX127x PA to use, either the RFO_HF or PA_BOOST (depends on circuit design)</td></tr>
<tr><td></td><td>LR1121 RF Switch Controls</td><td><input size='40' id='radio_rfsw_ctrl' name='radio_rfsw_ctrl' type='text' class='array'/></td><td>Comma-separated list of 8 values used for setting the LR1121 RF switch controls</td></tr>

<tr><td colspan='2'><b>Radio Antenna</td></tr>
<tr><td></td><td>CTRL pin<img class="icon-output"/></td><td><input size='3' id='ant_ctrl' name='ant_ctrl' type='text'/></td><td>Pin connected to Antenna select pin on power amplifier</td></tr>
Expand Down Expand Up @@ -175,6 +180,7 @@ <h1><b>ExpressLRS</b></h1>
<tr><td></td><td>Power Value(s)</td><td><input size='40' id='power_values' name='power_values' type='text' class='array'/></td><td>Comma-separated list of values that set the power output (if using a DAC these are the DAC values)</td></tr>
<tr><td></td><td>Secondary Power Value(s)</td><td><input size='40' id='power_values2' name='power_values2' type='text' class='array'/></td><td>Comma-separated list of values that set the power output (if using a DAC then these set the Semtech power output)</td></tr>
<tr><td></td><td>Dual Power Value(s)</td><td><input size='40' id='power_values_dual' name='power_values_dual' type='text' class='array'/></td><td>Comma-separated list of values that set the higher frequency power output of a dual band Tx/Rx</td></tr>
<tr><td></td><td>PA LNA Gain</td><td><input size='20' id='power_lna_gain' name='power_lna_gain' type='text'/></td><td>The amount of dB gain provided by the LNA</td></tr>

<tr><td colspan='2'><b>Radio Power Detection</td></tr>
<tr><td></td><td>PDET pin<img class="icon-analog"/></td><td><input size='3' id='power_pdet' name='power_pdet' type='text'/></td><td>Analog input (up to 1.1V) connected to 'power detect' pin on PA for adjustment of the power output</td></tr>
Expand Down
1 change: 1 addition & 0 deletions src/html/hardware.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ function fileDragHover(e) {
function fileSelectHandler(e) {
fileDragHover(e);
const files = e.target.files || e.dataTransfer.files;
_('upload_hardware').reset();
for (const f of files) {
parseFile(f);
}
Expand Down
43 changes: 34 additions & 9 deletions src/html/index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@@require(PLATFORM, VERSION, isTX, sx127x)
@@require(PLATFORM, VERSION, isTX, hasSubGHz, is8285)
<!DOCTYPE HTML>
<html lang="en">

Expand Down Expand Up @@ -53,7 +53,7 @@ <h2>Runtime Options</h2>
<br/><br/>
<form id='upload_options' method='POST' action="/options">
@@end
@@if sx127x:
@@if hasSubGHz:
<div class="mui-select">
<select id='domain' name='domain'>
<option value='0'>AU915</option>
Expand Down Expand Up @@ -138,10 +138,13 @@ <h2>Import/Export</h2>
<div class="mui-tabs__pane" id="pane-justified-2">
<div class="mui-panel">
<h2>Firmware Update</h2>
Choose a file to update module firmware. Select the correct .bin file for @@{PLATFORM} otherwise a bad flash may occur.
If this happens you will need to recover via USB/Serial. You may also download the
<a href="firmware.bin" title="Click to download firmware">currently running firmware</a>.
Select the correct <strong>firmware.bin@@{ ".gz" if (is8285 and not isTX) else "" }</strong> for @@{PLATFORM} otherwise a bad flash may occur.
If this happens you will need to recover via USB/Serial. You may also download the <a href="firmware.bin" title="Click to download firmware">currently running firmware</a>.
<br/><br/>
@@if (is8285 and not isTX):
<div class="mui-panel" style="background-color: #fcecae;text-align:center;">Do NOT decompress/unzip/extract the firmware.bin.gz file. Upload the file as it is.</div>
<br/>
@@end
<button id="upload_btn" class="mui-btn mui-btn--primary upload" style="margin: 0 auto; display:block;">
<label>
Select firmware file
Expand Down Expand Up @@ -218,9 +221,13 @@ <h2>PWM Output</h2>
</div>
<form class="mui-form" action='/config' id='config' method='POST'>
<h2>Binding Phrase</h2>
<div class="mui-checkbox">
<input id="vbind" name="vbind" type="checkbox" value="1"/>
<label for="vbind">Never store bind information across reboots (volatile binding)</label>
<div class="mui-select">
<select id="vbind" name="vbind">
<option value="0">Persistent (Default) - Bind information is stored across reboots</option>
<option value="1">Volatile - Never store bind information across reboots</option>
<option value="2">Returnable - Unbinding a receiver reverts to flashed binding phrase</option>
</select>
<label for="vbind">Binding storage</label>
</div>
<div id="bindphrase">
Enter a new binding phrase to replace the current binding information.
Expand Down Expand Up @@ -250,10 +257,28 @@ <h2>Serial Protocol</h2>
<option value='4'>SUMD</option>
<option value='5'>DJI RS Pro</option>
<option value='6'>HoTT Telemetry</option>
<option value='7'>MAVLINK</option>
</select>
<label for='serial-protocol'>Serial Protocol</label>
</div>
</div>
<div id="serial1-config">
<div class="mui-select">
<select id='serial1-protocol' name='serial1-protocol'>
<option value='0'>Off</option>
<option value='1'>CRSF</option>
<option value='2'>Inverted CRSF</option>
<option value='3'>SBUS</option>
<option value='4'>Inverted SBUS</option>
<option value='5'>SUMD</option>
<option value='6'>DJI RS Pro</option>
<option value='7'>HoTT Telemetry</option>
<option value='8'>Tramp</option>
<option value='9'>SmartAudio</option>
</select>
<label for='serial1-protocol'>Serial2 Protocol</label>
</div>
</div>
<div id="sbus-config" style="display: none;">
<h2>SBUS Failsafe</h2>
Set the failsafe behaviour when using the SBUS protocol:<br/>
Expand All @@ -279,7 +304,7 @@ <h2>Model Match</h2>
<input id='model-match' name='model-match' type='checkbox'/>
<label for="model-match">Enable Model Match</label>
</div>
<div class="mui-textfield">
<div class="mui-textfield" id="modelNum">
<input id='modelid' type='text' name='modelid' value="255" required/>
<label for="modelid">Model ID</label>
</div>
Expand Down
Loading
Loading