mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
* noise floor can now be queried even when int.thresh = 0
This commit is contained in:
parent
fab84925c3
commit
9363478d6f
1 changed files with 3 additions and 2 deletions
|
|
@ -9,6 +9,7 @@
|
||||||
#define STATE_INT_READY 16
|
#define STATE_INT_READY 16
|
||||||
|
|
||||||
#define NUM_NOISE_FLOOR_SAMPLES 64
|
#define NUM_NOISE_FLOOR_SAMPLES 64
|
||||||
|
#define SAMPLING_THRESHOLD 14
|
||||||
|
|
||||||
static volatile uint8_t state = STATE_IDLE;
|
static volatile uint8_t state = STATE_IDLE;
|
||||||
|
|
||||||
|
|
@ -46,7 +47,7 @@ void RadioLibWrapper::idle() {
|
||||||
|
|
||||||
void RadioLibWrapper::triggerNoiseFloorCalibrate(int threshold) {
|
void RadioLibWrapper::triggerNoiseFloorCalibrate(int threshold) {
|
||||||
_threshold = threshold;
|
_threshold = threshold;
|
||||||
if (threshold > 0 && _num_floor_samples >= NUM_NOISE_FLOOR_SAMPLES) { // ignore trigger if currently sampling
|
if (_num_floor_samples >= NUM_NOISE_FLOOR_SAMPLES) { // ignore trigger if currently sampling
|
||||||
_num_floor_samples = 0;
|
_num_floor_samples = 0;
|
||||||
_floor_sample_sum = 0;
|
_floor_sample_sum = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +66,7 @@ void RadioLibWrapper::loop() {
|
||||||
if (state == STATE_RX && _num_floor_samples < NUM_NOISE_FLOOR_SAMPLES) {
|
if (state == STATE_RX && _num_floor_samples < NUM_NOISE_FLOOR_SAMPLES) {
|
||||||
if (!isReceivingPacket()) {
|
if (!isReceivingPacket()) {
|
||||||
int rssi = getCurrentRSSI();
|
int rssi = getCurrentRSSI();
|
||||||
if (rssi < _noise_floor + _threshold) { // only consider samples below current floor+THRESHOLD
|
if (rssi < _noise_floor + SAMPLING_THRESHOLD) { // only consider samples below current floor + sampling THRESHOLD
|
||||||
_num_floor_samples++;
|
_num_floor_samples++;
|
||||||
_floor_sample_sum += rssi;
|
_floor_sample_sum += rssi;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue