summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/layer1
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2010-11-14 16:08:08 +0100
committerSylvain Munaut <tnt@246tNt.com>2010-11-14 17:09:54 +0100
commit87b44798effc07a2a8d840d3ea4dacdf869f7469 (patch)
treeaf822401526291ec0296c41aa508c567f55847c4 /src/target/firmware/layer1
parent3a8e47430e6d5e266ff1ed2393d489e9453e22fa (diff)
fw/layer1: Use dbm2rxlev instead of just '+110' so that overflows are handled
Without this, we would sometime get +143 dBm reported ... which is obviously false. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'src/target/firmware/layer1')
-rw-r--r--src/target/firmware/layer1/prim_rx_nb.c2
-rw-r--r--src/target/firmware/layer1/prim_tch.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/target/firmware/layer1/prim_rx_nb.c b/src/target/firmware/layer1/prim_rx_nb.c
index e210d006..e3e808da 100644
--- a/src/target/firmware/layer1/prim_rx_nb.c
+++ b/src/target/firmware/layer1/prim_rx_nb.c
@@ -133,7 +133,7 @@ static int l1s_nb_resp(__unused uint8_t p1, uint8_t burst_id, uint16_t p3)
avg_dbm8 += rxnb.meas[i].pm_dbm8;
}
rxnb.dl->snr = avg_snr / 4;
- rxnb.dl->rx_level = (avg_dbm8 / (8*4)) + 110;
+ rxnb.dl->rx_level = dbm2rxlev(avg_dbm8 / (8*4));
num_biterr = dsp_api.ndb->a_cd[2] & 0xffff;
if (num_biterr > 0xff)
diff --git a/src/target/firmware/layer1/prim_tch.c b/src/target/firmware/layer1/prim_tch.c
index d17ac553..4c08e3e8 100644
--- a/src/target/firmware/layer1/prim_tch.c
+++ b/src/target/firmware/layer1/prim_tch.c
@@ -223,7 +223,7 @@ static int l1s_tch_resp(__unused uint8_t p1, __unused uint8_t p2, uint16_t p3)
}
dl->snr = avg_snr / n;
- dl->rx_level = (avg_dbm8 / (8*n)) + 110;
+ dl->rx_level = dbm2rxlev(avg_dbm8 / (8*n));
/* Errors & CRC status */
num_biterr = dsp_api.ndb->a_fd[2] & 0xffff;
@@ -518,7 +518,7 @@ static int l1s_tch_a_resp(__unused uint8_t p1, __unused uint8_t p2, uint16_t p3)
avg_dbm8 += rx_tch_a.meas[i].pm_dbm8;
}
rx_tch_a.dl->snr = avg_snr / 4;
- rx_tch_a.dl->rx_level = (avg_dbm8 / (8*4)) + 110;
+ rx_tch_a.dl->rx_level = dbm2rxlev(avg_dbm8 / (8*4));
num_biterr = dsp_api.ndb->a_cd[2];
if (num_biterr > 0xff)