Skip to content

fix(kiss): periodic noise floor calibration and AGC reset#1591

Open
agessaman wants to merge 1 commit intomeshcore-dev:devfrom
agessaman:fix-kiss-noise-floor
Open

fix(kiss): periodic noise floor calibration and AGC reset#1591
agessaman wants to merge 1 commit intomeshcore-dev:devfrom
agessaman:fix-kiss-noise-floor

Conversation

@agessaman
Copy link
Contributor

In the previous implementation, the noise floor was calibrated once and the value was returned for the entire time the radio was active. This makes a change to:

  • Trigger noise floor calibration every 2s and AGC reset every 30s in main loop.
  • Reorder loop to match Dispatcher: calibrate + radio.loop() before AGC reset and recvRaw() so RSSI is never sampled right after startReceive().
  • Update protocol doc with calibration intervals and typical noise floor range.
  • Add limited variant platformio.ini configs for KISS modem (heltec_v3, rak4631).

- Trigger noise floor calibration every 2s and AGC reset every 30s in main loop.
- Reorder loop to match Dispatcher: calibrate + radio.loop() before AGC reset
  and recvRaw() so RSSI is never sampled right after startReceive().
- Update protocol doc with calibration intervals and typical noise floor range.
- Variant platformio.ini updates (heltec_v3, rak4631).
@agessaman
Copy link
Contributor Author

Just a quick follow-up, this appears to be working well. I monitored the noise floor using pyMC_Repeater and the graph shows regular updates but a relatively consistent noise floor. The initial very flat lines were the result of the firmware with no noise floor recalibration logic.

image

next_noise_floor_calib_ms = millis();
}
radio_driver.loop();

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there plans to add some Listen-Before-Talk logic here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants