This commit is contained in:
mikecarper
2026-09-15 02:40:03 +00:00
parent a4eca42f70
commit 2c76d6bc97
3 changed files with 48 additions and 2 deletions
+6 -1
View File
@@ -2309,7 +2309,7 @@
<h1 id="carrier-wave-rf-checks">Carrier-wave RF checks</h1>
<p><code>cw</code> and <code>cw2</code> transmit a continuous, unmodulated carrier at the selected
profile's frequency and the configured TX power. They are available in the
shared ASCII CLI on SX1262-family and LR1110 builds, including repeaters,
shared ASCII CLI on SX1276-family, SX1262-family, and LR1110 builds, including repeaters,
Companions, room servers, and sensors that use that CLI.</p>
<table>
<thead>
@@ -2357,6 +2357,11 @@ reception and profile scanning afterward. It rejects entry during a packet
or a busy radio. Profile retuning waits until the carrier stops; replacement
or expiry of the active second profile stops its carrier. Nothing about CW
is saved across reboot.</p>
<p>The normal <code>set tx &lt;dBm&gt;</code> command also works during CW for meter sweeps. It
keeps the board's power limits and PA calibration, resumes the carrier after
changing power, and does not extend the CW timeout. TX power retains its usual
saved behavior. SX1276 temporarily uses FSK with zero frequency deviation,
then rebuilds the LoRa configuration before resuming reception.</p>
<p>Use the local USB or BLE console for immediate replies and manual stopping.
An on-air CLI reply must wait until the carrier ends because LoRa packets
cannot transmit during the test.</p>
+41
View File
@@ -408,6 +408,17 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#sx1276-follow-up" class="md-nav__link">
<span class="md-ellipsis">
SX1276 follow-up
</span>
</a>
</li>
<li class="md-nav__item">
@@ -2368,6 +2379,17 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#sx1276-follow-up" class="md-nav__link">
<span class="md-ellipsis">
SX1276 follow-up
</span>
</a>
</li>
<li class="md-nav__item">
@@ -2496,6 +2518,25 @@ no outbound packet pending. The observer has no autonomous transmission.</p>
<code>src/Mesh.cpp</code> and test-file contents; the actual implementation uses
<code>ota_context_if_active()</code>. This is separate from the CW changes.</li>
</ul>
<h2 id="sx1276-follow-up">SX1276 follow-up</h2>
<p>The SX1276 carrier feature from <a href="https://github.com/mikecarper/MeshCore/pull/11">PR #11</a>
is included alongside SX1262 and LR1110 support. It switches to FSK with zero
deviation, applies the board's calibrated TX power, and rebuilds the runtime
LoRa configuration when stopped. External-PA settings pass through the same
DAC/drive-power mapping used for packets, including RFO selection.</p>
<p>The normal TX power command can adjust a running carrier for meter sweeps.
RadioLib's SX1276 power setter enters standby, so the carrier is restarted
afterward without extending the deadline. Failed power changes stop the
carrier and restore the previous cached power.</p>
<p>Follow-up checks use base <code>9dd9881d520b4b791600a00fff1f8e1436921054</code> plus the
SX1276 changes. Production-method regression tests cover both profiles,
zero deviation, external-PA calibration, RFO, power sweeps, timeout, failed
FSK entry, failed restoration, retry guards, and return to LoRa. The native
CW paths and existing radio/profile/sleep/PA checks pass as well.
Both <code>GEPRC_Linkflow_900_repeater</code> (external PA) and
<code>Heltec_v2_companion_radio_usb</code> firmware builds pass, including size checks.</p>
<p>SX1276 RF output has not been measured in this follow-up. The physical RF
results above apply to SX1262 and LR1110.</p>
<h2 id="bench-qualifications">Bench qualifications</h2>
<p>The first CW2 request arrived before radio2's existing delayed activation.
The harness now polls <code>get radio2.status</code> for the active mode before testing.</p>
File diff suppressed because one or more lines are too long