Skip to content

RadioLink / DumboRC command packages for P Series - #1164

Merged
pascallanger merged 6 commits into
pascallanger:masterfrom
ELynx:master
Jul 29, 2026
Merged

RadioLink / DumboRC command packages for P Series#1164
pascallanger merged 6 commits into
pascallanger:masterfrom
ELynx:master

Conversation

@ELynx

@ELynx ELynx commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

DumboRC receivers in P series support setting of failsafes, gyro sense channel and gyro endpoints.
DDF-350 firmware 1.1.9 does this through UI sub-item.
I reverse engineered the format, and finally found time to implement it throughout. Needs changes to EdgeTX, will link PR in comments. Tested with custom builds off 2.12.1 and current main.
Main Lua script is 99% generated, surprisingly in my life I had not come across it. All of my attempts to improve it only made it worse.
Bridges are generated but at least I can verify C/C++ myself. Still, beware.
Main radio changes were written 90% by hand. Otherwise, it turned into helper hell and with control flow issues.
Will test over the course of this summer.

@ELynx

ELynx commented Jun 7, 2026

Copy link
Copy Markdown
Contributor Author

Tested on P6... and P10..., works as expected. Tested with X10F, still works, new commands do not cause issues.

@ELynx

ELynx commented Jun 7, 2026

Copy link
Copy Markdown
Contributor Author

PR in EdgeTX EdgeTX/edgetx#7441
Honestly, I am not sure about merge order. Neither hard block each other, but both are needed.

@pascallanger

Copy link
Copy Markdown
Owner

For backward compatibility, I would have preferred to have a new subprotocol for the P receivers...
Are you still available to work on it?

@ELynx

ELynx commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

For backward compatibility, I would have preferred to have a new subprotocol for the P receivers... Are you still available to work on it?

I am. I would. Of course.
I will add it as a new subprotocol in series of new commits so I have a clear diff for this, plus see if I need anything added to EdgeTX side. Followed by tests (good time to go through by receivers too), then will report here.

ELynx added 5 commits July 17, 2026 00:11
Pass "special" packages to and from the module
Allows to replicate "Set Failsafe", "Set Gyro Settings" and "Set Gyro Endpoints" from DDF-350
Has max 10 channels
Has no failsafe
Older X series have gyro sense fixed to CH8, also can be used as regular channel
Add script that mimics interaction between DumboRC DDF-350 transmitter and P Series receivers
Split command exchange into separate subprotocol
Update protocol documentation
Clean up, better event handling
@ELynx

ELynx commented Jul 18, 2026

Copy link
Copy Markdown
Contributor Author

@pascallanger Hi! I moved it to separate subprotocol, also LLM cleaned up .lua a bit.

Currently tested on EdgeTX's main (pre 3.0.0 in menus IIRC). If you are fine with this, I will update EdgeTX side PR for main, and then also make one for backport to 2.12.

@ELynx

ELynx commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Also in the meantime tested on 2.12 backport, works as well. As usual, MT12 is my only radio and DumboRCs are my main receivers (Some are still X series, most are updated to P) so they get "runtime".

@ELynx

ELynx commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

@pascallanger
image

@pascallanger
pascallanger merged commit aaaa5f1 into pascallanger:master Jul 29, 2026
21 of 22 checks passed
@pascallanger

Copy link
Copy Markdown
Owner

I've fixed the build failure issue after merging the code. Can you test that everything is working fine using the test build?

@ELynx

ELynx commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

I've fixed the build failure issue after merging the code. Can you test that everything is working fine using the test build?

Works! Thank you so much
got ..58 release from https://downloads.multi-module.org/latest-test/ in mm-stm-serial-aetr-sfc-v1.3.4.58.bin configuration, flashed via EdgeTX with file named mm-1.3.4.58.bin
Tools work too

MRC3742 added a commit to MRC3742/DIY-Multiprotocol-TX-Module that referenced this pull request Aug 14, 2026
* KF606 LED

Add LED channel for KF606 boards

* AFHDS2A: Fix for CROSSOVER-RX

CROSSOVER-RX are sending end of telemetry data despite having sensors after...

* E129 saving few bytes

* TRAXXAS: attempt to describe TQi

* Update WPL_nrf24l01.ino

* Update XN297Dump_nrf24l01.ino

* Update Protocols_Details.md

* Fix for DSM Clone

* fix for DSM clone not working

* Hontai/XK170: Optical flag

CH11 enable/disable flow sensor for K270

* XK2/X4: Stunt flag for the Sky Viper Vector

* Update Protocols_Details.md

* Update Protocols_Details.md

* FX/BM26: new subprotocol

* FX/BM26: new subprotocol

Missing files

* FX: Add telemetry delay for warnings

* telemetry delay for FX protocol warnings

* Update Protocols_Details.md

---------

Co-authored-by: dellclient <dellclient>

* FX/A570: new subprotocol for VTOL QIDI-570

* FQ777/XBM37: new subprotocol

* Update FQ777_nrf24l01.ino

* RadioLink / DumboRC command packages for P Series (pascallanger#1164)

* [Codex assisted] RadioLink / DumboRC command packages bridge

Pass "special" packages to and from the module
Allows to replicate "Set Failsafe", "Set Gyro Settings" and "Set Gyro Endpoints" from DDF-350

* RadioLink / DumboRC command packages TX / RX

* RadioLink / DumboRC Helper script channel names

Has max 10 channels
Has no failsafe
Older X series have gyro sense fixed to CH8, also can be used as regular channel

* [Codex] DumboRC P Series settings script

Add script that mimics interaction between DumboRC DDF-350 transmitter and P Series receivers

* [Codex assisted] Split P series into separate subprotocol

Split command exchange into separate subprotocol
Update protocol documentation

* [Codex] Improve LUA script

Clean up, better event handling

* Update build_release_avr_optiboot

Disable Radiolink in this build

* Update Validate.h

Save flash space

* Update Validate.h

Save Flash space

* Update Validate.h

Save Flash space

* Update Validate.h

Save Flash space

* REALACC/WLV8Tx : WLtoys Cars 284019-A and 284191

Protocol: REALACC
Sub Proto: WL_V8Tx
Ch1: Steering
CH2: Throttle
CH3: GY TRIM (Rate)
CH4: TH TRIM (Rate)
CH5: Steering Trim

* DSM: add XPlus channels

Sent only when number of channels >12

* SLT/SLT6X new subprotocol

* Ares: new protocol

ARES Gamma 370, P-51D Mustang 350, RTF models with 6HPA-Tx and AZS12006-Rx (6 channel).

* Update build_release_avr_noboot

* WLV8TX small changes and save few bytes

* Update README.md

Fix code status

* Fix SLT protocol variant timing, payloads, and frame structure from capture analysis

* Initial plan

* Initial analysis of SLT V1 captures vs code implementation

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Fix SLT V1 timing and packet count to match TTX610 TX captures

Based on analysis of Saleae logic captures from a TTX610 TX module:
- Change SLT_V1_TIMING_PACKET from 1000 to 1600us (captures show ~1596us)
- Send 2 data packets per frame instead of 3 (like V1_4)
- Change frame period from 20000 to 17700us (captures show ~17690us)
- Change bind frequency from 100 to 88 frames for V1/V1_4
- Update MULTI_SYNC packet_period to 17700us

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Initial analysis of Q200, Q100 and MR100 SLT captures

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Fix Q100, Q200, and MR100 SLT variant implementations based on capture analysis

Q100 fixes:
- Payload size: 19 bytes (was incorrectly 11)
- Packets per frame: 7 (was 3)
- Inter-packet timing: 1897us (was 2042us)
- Frame period: 17933us
- TX address: force bytes 0,1 to 0x01,0x02 (same as Q200)
- BIND1 uses 19-byte payload (was 11)
- BIND1 timing: 3652us, BIND2 timing: 1217us
- Bind count: every 50 frames (was 100)

Q200 fixes:
- Bind count: every 50 frames (was 100)

MR100 fixes:
- Packets per frame: 9 (was 3)
- Inter-packet timing: 2007us (was 2042us)
- Frame period: 17930us
- No build delay (was 1000us)
- Only BIND2 sent (no BIND1)
- MR100-specific bind timing: 1008us
- Bind count: every ~83 frames (was 100)

Common fixes:
- BIND1 now sent on data channel (was incorrectly using bind channel)
- BIND1 uses packet_length (was hardcoded to SLT_PAYLOADSIZE_V2)
- Refactored callback to use counter-based frame handling (rf_ch_num)
  instead of fixed DATA1/DATA2/DATA3 phases

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Standardize SLT frame periods to 18ms using SLT_FRAME_PERIOD constant

Replace variant-specific hardcoded frame periods (17700, 17933, 17930,
13730+2*2042) with a single SLT_FRAME_PERIOD=18000 constant. The
captured values varied by 67-300us from the standard 18ms frame rate
due to measurement artifacts. V1_4 already used exactly 18000us,
confirming 18ms as the design intent for all SLT variants.

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Align SLT V2 with V1 - same timing, packets, and bind structure

V2 (TTX810, 8ch) was not based on captures and had substantially
different behavior from V1 (TTX610, 6ch). Since V2 is simply V1 with
channels 7+8 added, align V2 timing, packet count, bind frequency,
and bind structure to match V1. Only payload size differs (11 vs 7).

V2/RF_SIM changes:
- Packets per frame: 3 -> 2 (rf_ch_num=1, same as V1)
- Bind frequency: 100 -> 88 frames (same as V1)
- Inter-packet timing: 2042 -> 1600us (same as V1)
- Bind structure: BIND1+BIND2 -> BIND2 only (same as V1)

Q200 retains its capture-validated settings unchanged.

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Fix MR100 hop frequency generation algorithm

Reverse-engineered the MR100 hop algorithm from Saleae logic captures
(verified 15/15 perfect match against TX address 0x0C 0x80 0x3F 0x00).

MR100 uses different constants than V1/V2/Q200:
- h[0] mask: 0x1F (5 bits) instead of 0x3F (6 bits)
- h[1]: ((byte>>2) & 0x0F) instead of (byte>>2)
- h[2]: (next & 0x01)*0x10 instead of (next & 0x03)*0x10
- h[3]: (next & 0x07)*0x04 instead of (next & 0x0F)*0x04
- base for i>=2: 0x08 instead of 0x10
- max_freq: 43 instead of 0x50, with Q200-style wrapping

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Revert MR100 hop sequence to standard V1/V2 algorithm

The MR100-specific hop algorithm (narrower band, different masks)
caused slow/impossible binding. The MR100 receiver (Dromida Vista FPV)
is compatible with standard Tactic 6-channel transmitters, so it uses
the standard hop algorithm with max_freq=0x50.

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add Ao-Sen-Ma / CG022 protocol - Requires LT8910 RF Board (#18)

* Plan CG022 protocol import

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6ec46660-b79e-407b-9153-b13846091fc7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Revert accidental local build artifacts

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6ec46660-b79e-407b-9153-b13846091fc7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* CG022 / LT8910 Protocol - WORKING - Requires External LT8910 RF Board (#15)

* Add CG022/LT8910 protocol - rebased onto latest add-cg022-quad

* Remove 98* capture files

* Add images for hardware mod

* Update 01_TX.jpeg

* Address PR review feedback: rename doc, add images, update text per comments

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/156f2f98-5c33-438a-8048-2771418e7bb2

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add AOSENMA/CG022 to Multi.txt and update Pins.h comment

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/c216aae5-80e4-4b0e-a552-025aaf10fe85

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Remove unused CG022 rebind state machine

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/96d69d8a-005d-49d5-91d8-c70a8a489228

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Use model-match ID for CG022 bind

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/90e16db5-810d-4282-b93d-2e87215ceb4c

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Adjust CG022 model match via RX_num

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/ab2360d8-3609-4cd2-a306-52965e32d120

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Clarify CG022 model match comments

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/ab2360d8-3609-4cd2-a306-52965e32d120

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Explain CG022 model match XOR

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/ab2360d8-3609-4cd2-a306-52965e32d120

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Clarify CG022 XOR comment

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/ab2360d8-3609-4cd2-a306-52965e32d120

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Use fixed CG022 TX ID

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6807d7ec-f69d-4339-90ba-39962671cda0

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add LT8910 section and fixed ID note for CG022 docs

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/12ac6150-123f-4465-afa3-0062cc7562b3

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Update CG022 bind TX ID comments

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/04534cc2-5d6d-49c5-9f38-32240f931264

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Update CG022 TX ID derivation and syncwords

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/0b6a4a2f-8c5a-4bb3-96c4-7feaae6a71e1

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Clarify CG022 TX ID storage and syncword7 use

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/0b6a4a2f-8c5a-4bb3-96c4-7feaae6a71e1

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Update CG022 model match documentation

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/1d7badca-7942-484d-b06e-e4abac3ba92d

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Fix LT8910 read and CG022 init checks

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/194a2e24-8cd5-4788-ae45-02866ec45623

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Update CG022 comments and AoSenMa build label

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/0a763b45-2e03-49d0-8a3c-99990ea88ba7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Clarify STM32 pin reference

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/0a763b45-2e03-49d0-8a3c-99990ea88ba7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

---------

Co-authored-by: MRC3742 <MRC3742@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Address CG022 review feedback

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6ec46660-b79e-407b-9153-b13846091fc7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Clarify CG022 comments and LT8910 pin conflict

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6ec46660-b79e-407b-9153-b13846091fc7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Refine CG022 follow-up review fixes

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6ec46660-b79e-407b-9153-b13846091fc7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add Ao-Sen-Ma CG022 protocol with LT8910 support

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6ec46660-b79e-407b-9153-b13846091fc7

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add LT8910 build coverage and clean CG022 docs

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/47f14fba-1ab4-45e7-b65a-4ee52b6a2473

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Fix LT8910 build-script coverage handling

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/47f14fba-1ab4-45e7-b65a-4ee52b6a2473

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add dedicated LT8910 release build

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/8214f0cd-0058-4884-92f8-e6f9334cffe8

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Remove generated artifacts from LT8910 release work

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/8214f0cd-0058-4884-92f8-e6f9334cffe8

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Restore _Config protocol selection defaults

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/8214f0cd-0058-4884-92f8-e6f9334cffe8

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Restore default STM32 config settings

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/8214f0cd-0058-4884-92f8-e6f9334cffe8

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Make LT8910 defaults opt-in

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/8214f0cd-0058-4884-92f8-e6f9334cffe8

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Add LT8910 release script and T18 exclusions

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6a300b02-5215-48e6-befb-90286246058a

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Track LT8910 release script and restore script modes

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/6a300b02-5215-48e6-befb-90286246058a

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Plan LT8910 release build update

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/1939f70f-b38d-451b-b241-e2fe80ca83bb

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Base LT8910 air release on STM32 air build

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/1939f70f-b38d-451b-b241-e2fe80ca83bb

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Trim NCC1701 from LT8910 builds

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/2f5d3bc8-aaae-4478-b1df-91039696ffcc

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Rewrite LT8910 release build flow

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/025fb1f1-7715-414a-8a15-b1c43c42ba18

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Address LT8910 follow-up review comments

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/47c6cab5-3a72-4336-bc41-9816d97ac050

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Tidy LT8910 follow-up docs wording

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/47c6cab5-3a72-4336-bc41-9816d97ac050

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* Tweak LT8910 doc formatting follow-up

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/9c47e92b-9af0-49ef-b587-5af5a77afacc

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>
Co-authored-by: MRC3742 <MRC3742@users.noreply.github.com>

* (fix) Remove NCC1701 for space needed to operate correctly (#20)

* (fix) Remove NCC1701 for space needed to upload correctly to flash

Although the MULTI_AIR builds are completing successfully for the 128Kb versions, just under the 120808 byte threshold, these builds do not work properly when uploaded to MPM. As different builds near this max allowed figure other flash demands are interfering with a complete upload. By removing this older niche protocol I am creating enough available free space for a proper upload to the STM32 flash.

* Add post-build size check for 128KB builds

Agent-Logs-Url: https://github.com/MRC3742/DIY-Multiprotocol-TX-Module/sessions/866c69d6-fc73-4d47-b3ca-2b36e2f29ec9

Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>

* a few additional changes

* a few more additional changes

* prevent overflow on 64K CC2500 builds

* remove multiple FQ777 entries

* a few SLT tweaks

* Few updates

Thanks @MRC3742

* add back in FQ777 for XBM37

---------

Co-authored-by: pascallanger <pascal_langer@yahoo.fr>
Co-authored-by: Eduard <1621251+ELynx@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MRC3742 <26642502+MRC3742@users.noreply.github.com>
@tmur11

tmur11 commented Aug 16, 2026

Copy link
Copy Markdown

@ELynx what do you mean by the P series have "runtime"?

@pascallanger

Copy link
Copy Markdown
Owner

That he has used them with this version

@tmur11

tmur11 commented Aug 17, 2026

Copy link
Copy Markdown

Ok, by the way it was worded it seemed like the P-series recievers have a runtime telemetry variable or something that the X-series did not.

The P-series recievers support "fast mode" for higher refresh rate servos, is this something that was implemented with this P series command package update?

@ELynx

ELynx commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Ok, by the way it was worded it seemed like the P-series recievers have a runtime telemetry variable or something that the X-series did not.

Bratushka, English is not my first language :) Apolocheeze if I misled you. Pascal is correct. What I meant is that I had that firmware running (along with modified EdgeTX) for quite awhile, and nothing caught on fire. From all I can test P and X have same tele. Only thing P has is a separate response that gives current settings, but it is sent only in response to special package.

The P-series recievers support "fast mode" for higher refresh rate servos, is this something that was implemented with this P series command package update?

I looked at fast mode in DDF-350 firmware around version 1.1.9 or so. It is done by switching timing from 20 to 5 cycle and reducing number of sent channels. Not in this change, no. Technically doable, but would require some timing rework and testing if module can even do such fast exchange.

Edit: or you mean servo frequency setting? For servo frequency as in DDF-350 menu yes, script does allow to change that. 67hz is default, then options are 50, 250 and 300 from top of my head. But you will need custom built EdgeTX since my PR is not yet in the main or 2.12.

@ELynx

ELynx commented Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

FYI, PRs got merged
EdgeTX/edgetx#7441
EdgeTX/edgetx#7692
So next 2.12 shall have this, as well as 3.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants