software: add an RX as TX page - #557
Draft
MUSTARDTIGERFPV wants to merge 1 commit into
Draft
Conversation
Closes ExpressLRS#413. RX-as-TX is offered in the Configurator but has no page. The only mentions on the site are one clause on the AirPort page and the SIYI FM30 section, which describes a different, older STM32 STLink method and is easy to mistake for this feature. Facts come from the build tooling rather than from the pull request description: - binary_configurator.py accepts esp32 for either type, esp8285 only for internal, and exits for anything else, so STM32 is out. - The Configurator repeats the same gating in TargetUserDefinesFactory, offering internal and external for esp32 and internal only for esp8285. - UnifiedConfiguration.py requires the target layout to define both serial_rx and serial_tx, and implements external by assigning serial_rx to the serial_tx pin, which is what makes it half duplex on a single wire. - RX_AS_TX is listed in EXPERT_MODE_USER_DEFINES, so the option is hidden until Expert Mode is enabled. - The feature first shipped in 3.5.0. The page carries warnings for the things that damage hardware or break rules: reduced power and cooling compared to a real module, regulatory domain, and the JR bay supply voltage, which is well above what a receiver tolerates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #413.
RX-as-TX is offered in the Configurator but has no page on the site. The only mentions are one clause on the AirPort page ("RX modules (or those flashed using RX-as-TX)") and the SIYI FM30 section, which describes a different and older STM32 STLink method that is easy to mistake for this feature. The new page calls that difference out.
Adds
software/rx-as-tx.mdunder Software > Features, plus the nav entry.Verified against the build tooling
I took the constraints from the code rather than from the pull request description, and they line up.
src/python/binary_configurator.py:Python precedence makes that
esp32 OR (esp8285 AND internal), so ESP32 gets both types, ESP8285 gets internal only, and everything else including STM32 is rejected.The Configurator applies the same rule independently, in
TargetUserDefinesFactory.ts, offering['internal', 'external']foresp32and['internal']foresp8285.src/python/UnifiedConfiguration.pyadds a constraint that is not in the pull request description at all:So the target layout must define both pins, and
externalis implemented by collapsing RX onto the TX pin, which is what makes it half duplex on a single wire. The page explains it in those terms.RX_AS_TXappears inEXPERT_MODE_USER_DEFINESinDeviceOptionsForm/index.tsx, so the page says Expert Mode has to be on before the option appears.Version: the introducing commit is "Allow flashing an RX as a TX (#2826)", and
git tag --containsgives 3.5.0 as the first release. The page says 3.5.0 rather than implying this is a 4.x feature.Warnings
The page carries three, for the things that damage hardware or break rules: reduced power and cooling versus a real module, regulatory domain responsibility, and the JR bay supply voltage, which is battery voltage and will destroy a receiver fed directly from it.
Deliberately not included
No tested-device list and no specific output power figures. Neither can be established from the source, and both would need bench testing to state honestly.