Repository navigation
Conversation
Builds on meshtastic#5318 and hardens the first integration slice for the primary sub-GHz LR1121, external PA, fan control, Wi-Fi, and inactive secondary radio. Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks for crediting #5318 and for the useful additions in this draft, in particular holding the second LR1121 and the ESP32-C3 backpack in reset, and the LR1121_SUBGHZ_ONLY guard. That said, this is a parallel slice of work that is still in flight. Measured against the respective develop merge bases (normalized, non-empty diff lines), 123 of the 197 lines added here (62 percent) are byte-identical to the #5318 branch, and a further share is the same content reformatted or reworded. The genuinely new parts are exactly the ones I would like to see folded into the original work rather than competing with it. Request: please change this PR's base from develop to the nomad-gemini branch. That turns it into a reviewable delta on top of the existing work, avoids two competing Nomad targets, and keeps attribution clean. The base can be switched in the PR header without losing the branch or its history. One technical note: the 10 mW APC2 bias differs between your mLRS-derived table (150) and the ELRS target values (120) used in #5318. I have an ImmersionRC RF power meter on the bench and will validate the full PA table against measured output shortly. Whichever numbers survive the bench measurement should go in, for both PRs' sake. |
⚡ Try this PR in the Web FlasherNote Building this pull request… the flash button, badges and supported-board |
|
@caveman99 Appologies for stepping on your PRs. I didn't realize you were working on the same thing. This was on the path to check if the Normad can do dual channel as a proof of concept.. which it does.. and it works for RX and TX for both.. but I am not going to make any more progress on this beyond this PR and #11160. It was more of a conversation piece rather than a PR I was planning to merge. The ability to support dual primary channels will require a lot more effort than I have the time to implement properly. Can I offer you a Nomad as a peace offering? Two 900mhz radios, 1w each, prime for being setup as a dual preset router. |
| #define LR1120_MAX_POWER 5 | ||
|
|
||
| // not yet implemented | ||
| #define JANUS_RADIO |
There was a problem hiding this comment.
Please leave the Janus define in place. It's a future macro to enable the dual radio code. Right now it does nothing.
|
|
||
| // supported modules list | ||
| #define USE_LR1121 | ||
| #define LR1121_SUBGHZ_ONLY |
There was a problem hiding this comment.
I hope this is not needed any more once both PA curves are confirmed.
| // Runs at the start of setup(), before the LoRa radio is initialized. | ||
| void earlyInitVariant() | ||
| { | ||
| pinMode(LR1121_SPI_NSS2_PIN, OUTPUT); |
There was a problem hiding this comment.
Please add documentation you are holding the 2nd LR and the C3 under reset. By the way - did you measure the power consumption when doing this? might as well send them to deep sleep instead.
|
|
||
| bool LR1121Interface::wideLora() | ||
| { | ||
| #ifdef LR1121_SUBGHZ_ONLY |
There was a problem hiding this comment.
As mentioned elsewhere i hope we don't need this any more once the PA curves are confirmed.
Thanks for the offer, i have a device here, and finally got a matching power supply to eanble the PA. No need to apologize, this item has been on my back burner for quite some time, i initially planned for it to be exactly what you had in mind, a test mule for dual radio support. I coined it project Janus (Roman god with 2 faces), to go in the same tone as the Gemini product name. What do you say we finalize this work and then go on with #11160 to finish the dream? :-) |
f88d084 to
6a75489
Compare
5c214e0 to
0a4e5f7
Compare
|
Closing this one out - Does not seem to have much traction |
Summary
This draft is now a small hardening delta on top of #5318's
nomad-geminibranch by @caveman99. It keeps the original Nomad implementation and attribution intact while adding the three safety items called out in review:The PR also adds target metadata and focused board documentation. The broader external-PA and fan rewrites from the earlier draft have been removed.
Implementation
LR1121_SUBGHZ_ONLYhandling and enables it only for the Nomad target.JANUS_RADIOas the future dual-radio feature marker while the second LR1121 remains inactive.PRIVATE_HW, support level 3, andboard_level = extra.PA calibration
This stacked delta inherits #5318's external-PA implementation and provisional table unchanged, including APC2 120 at 10 mW. That value is not claimed as bench-validated; the table should be updated after the planned RF power-meter measurements.
Validation
Software
trunk fmtpio run -e radiomaster_nomad_gemininomad-gemini: 5 files, +56/-5Hardware
2.8.0.5081c59flashed to the connected ESP32-PICO-D4 with on-device hash verificationradiomaster_nomad_geminiwith US / MediumFast / 10 dBm!625aa4fb, including a return path192.168.1.252, responded to ICMP, exposed TCP 4403, and completed a Meshtastic API configuration exchangeSuggested review focus