diff --git a/docs/carrier_wave.md b/docs/carrier_wave.md index e01dd594..7adbce68 100644 --- a/docs/carrier_wave.md +++ b/docs/carrier_wave.md @@ -42,13 +42,19 @@ 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. -A second radio on the same frequency can detect the carrier using -instantaneous RSSI. Compare readings before, during, and after transmission; -CAD and packet counters are not carrier detectors. This confirms RF activity, -not calibrated output power, frequency accuracy, antenna match, or SWR. -Afterward, exchange ordinary LoRa packets to verify both RX and TX recovery. +A second radio on the same frequency can detect the carrier by measuring +**live signal strength** (RSSI, short for received signal strength indicator): +how much radio energy the receiver sees right now, even when it cannot decode +a packet. A less-negative reading in dBm means a stronger signal. Compare it +before, during, and after transmission. The normal `stats-radio` command shows +the **last received packet's** RSSI, not this live reading, so it cannot by +itself confirm a continuous carrier. CAD and packet counters are not carrier +detectors either. A rising live reading confirms RF activity, not calibrated +output power, frequency accuracy, antenna match, or SWR. Afterward, exchange +ordinary LoRa packets to verify both RX and TX recovery. -The reproducible bench witness is `tools/hil/cw_observer.cpp`, built with -`tools/hil/cw_observer.ini` on a separate RAK4631. It never transmits on its own. +The reproducible bench receiver that provides this live reading is +`tools/hil/cw_observer.cpp`, built with `tools/hil/cw_observer.ini` on a +separate RAK4631. It never transmits on its own. See the [hardware validation](carrier_wave_validation.md) for measured results, reproduction steps, and the tested preamble settings. diff --git a/docs/carrier_wave_validation.md b/docs/carrier_wave_validation.md index 435d6c41..b53a33ab 100644 --- a/docs/carrier_wave_validation.md +++ b/docs/carrier_wave_validation.md @@ -4,7 +4,8 @@ Tested on the MercerWoodMesh lab Pi on September 14, 2026 (Pacific), using base commit `9241ccc253ad2f8ac2c9a2fe756f59ba2f52505d` plus the CW changes. Test images are marked `v1.17.1.6-cw-test-9241ccc2`; they are development images. -A separate RAK4631 sampled instantaneous RSSI every approximately 10 ms. +A separate RAK4631 sampled live received signal strength (RSSI) about every +10 ms, without needing to decode a packet. The transmitting boards ran the Full V4 repeater and Full T1000-E Companion builds. Both were configured for −9 dBm chip TX power, with profiles at 909.5 and 919.5 MHz, BW125, SF7, CR5, and 32-symbol preambles. diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 9c6ac956..8c911595 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -561,6 +561,10 @@ command `0x42` where the role supports the command; unavailable over LoRa. **Usage:** `stats-radio` +`last_rssi` is the strength of the last received packet. It is not a live +signal-strength meter and will not show an unmodulated carrier; see the +[carrier-wave guide](carrier_wave.md) for a separate receiver that can measure one. + **Local connection only:** USB, direct network CLI, or Companion binary command `0x42` where the role supports the command; unavailable over LoRa. diff --git a/docs/preamble_detection_investigation.md b/docs/preamble_detection_investigation.md index 41728025..fda94c92 100644 --- a/docs/preamble_detection_investigation.md +++ b/docs/preamble_detection_investigation.md @@ -71,12 +71,12 @@ CRC error): two at +250 kHz with XIAO RX, and one each at +250 and +1,000 kHz with Indicator RX. Therefore **HeaderValid alone would not prove that these off-frequency indications are legitimate traffic**. -In forward SF8 on-frequency controls, instantaneous RSSI at the first preamble -was -42 to -41 dBm; at +/-250 kHz it was -91 to -88 dBm. These are instantaneous -receiver readings, not calibrated measurements of transmitted leakage or a -sensitivity test. Board positions and attenuation were not systematically -varied. Reversing roles reproduces the behavior but does not isolate its -physical path. +In forward SF8 on-frequency controls, receiver signal strength (RSSI) sampled +at the first preamble was -42 to -41 dBm; at +/-250 kHz it was -91 to -88 dBm. +These are single-point receiver readings, not calibrated measurements of +transmitted leakage or a sensitivity test. Board positions and attenuation +were not systematically varied. Reversing roles reproduces the behavior but +does not isolate its physical path. ## What this explains diff --git a/docs/separated_radio_modulation_cache_validation.md b/docs/separated_radio_modulation_cache_validation.md index 18461752..a069f22b 100644 --- a/docs/separated_radio_modulation_cache_validation.md +++ b/docs/separated_radio_modulation_cache_validation.md @@ -69,10 +69,10 @@ All 12 on-frequency probes delivered valid payloads. No off-frequency header or valid payload, silent preamble, device/read error, foreign valid payload, or trace overflow occurred. SF6 off-channel detections changed from 1/24 to 0/24; SF8 from 32/48 to 4/48. These are small bounded samples, not sensitivity -or packet-error-rate estimates. On-frequency instantaneous RSSI was -41 to --40 dBm at SF6 and -42 dBm at SF8: the signal remains strong and readings are -not calibrated attenuation measurements. Improvement cannot be attributed -solely to separation or solely to normal gain. +or packet-error-rate estimates. Signal strength (RSSI) sampled on-frequency +was -41 to -40 dBm at SF6 and -42 dBm at SF8: the signal remains strong, but +these are not calibrated attenuation measurements. Improvement cannot be +attributed solely to separation or solely to normal gain. ## Four-channel SF6/125, 5.1-symbol visits