mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Clean up comments on kiss noise floor changes.
This commit is contained in:
parent
0fb570338f
commit
c0b81b9ad8
2 changed files with 6 additions and 10 deletions
|
|
@ -28,8 +28,6 @@ Maximum unescaped frame size: 512 bytes.
|
|||
|
||||
## Commands
|
||||
|
||||
Command and response codes below are taken from `examples/kiss_modem/KissModem.h` and the switch in `KissModem::processFrame()`.
|
||||
|
||||
### Request Commands (Host → Modem)
|
||||
|
||||
| Command | Value | Data |
|
||||
|
|
@ -129,7 +127,7 @@ Response to `CMD_GET_NOISE_FLOOR` (0x13). Little-endian.
|
|||
|--------------|------|--------------------------------|
|
||||
| Noise floor | 2 | int16_t, dBm (signed), e.g. -120 |
|
||||
|
||||
The modem recalibrates the noise floor periodically (every 2 s) from RX samples when idle. The receiver AGC is also reset periodically (every 30 s) so RSSI and noise floor do not drift to the minimum (-120). Typical range after calibration is about -120 to -90 dBm. Values may be 0 or briefly stale until the radio has been in receive mode long enough to collect 64 samples.
|
||||
The modem recalibrates the noise floor every two seconds with an AGC reset every 30 seconds.
|
||||
|
||||
### Stats (RESP_STATS)
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
#include <SPIFFS.h>
|
||||
#endif
|
||||
|
||||
#define NOISE_FLOOR_CALIB_INTERVAL_MS 2000 // match Dispatcher default
|
||||
#define AGC_RESET_INTERVAL_MS 30000 // periodic RX restart so AGC doesn't drift (repeater uses same via prefs)
|
||||
#define NOISE_FLOOR_CALIB_INTERVAL_MS 2000
|
||||
#define AGC_RESET_INTERVAL_MS 30000
|
||||
|
||||
StdRNG rng;
|
||||
mesh::LocalIdentity identity;
|
||||
|
|
@ -100,11 +100,9 @@ void loop() {
|
|||
uint8_t packet[KISS_MAX_PACKET_SIZE];
|
||||
uint16_t len;
|
||||
|
||||
// Match Dispatcher order: noise floor calib + loop() first, so we never sample RSSI in the same
|
||||
// iteration as startReceive() (AGC reset -> recvRaw below). Sampling right after startReceive()
|
||||
// can yield settling/cold RSSI and drive the floor toward -120.
|
||||
// trigger noise floor calibration
|
||||
if ((uint32_t)(millis() - next_noise_floor_calib_ms) >= NOISE_FLOOR_CALIB_INTERVAL_MS) {
|
||||
radio_driver.triggerNoiseFloorCalibrate(0); // 0 = no interference threshold (KISS has no prefs)
|
||||
radio_driver.triggerNoiseFloorCalibrate(0);
|
||||
next_noise_floor_calib_ms = millis();
|
||||
}
|
||||
radio_driver.loop();
|
||||
|
|
@ -119,7 +117,7 @@ void loop() {
|
|||
}
|
||||
|
||||
if ((uint32_t)(millis() - next_agc_reset_ms) >= AGC_RESET_INTERVAL_MS) {
|
||||
radio_driver.resetAGC(); // next recvRaw() will startReceive() and reset AGC so RSSI/noise floor don't stick at -120
|
||||
radio_driver.resetAGC();
|
||||
next_agc_reset_ms = millis();
|
||||
}
|
||||
uint8_t rx_buf[256];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue