diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-06-11 16:54:50 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-06-22 10:39:06 +0200 |
commit | 51b11510448bcca092db191d5f17a00892af9f71 (patch) | |
tree | ec42cf5fff749b6497da27c1f1bec99d398ae370 /src/pcu_vty_functions.cpp | |
parent | 94cde130ca78d6ca1b5f815180ccdd363b234407 (diff) |
l1: Store measurement values sent by the MS
This commit extends the pcu_l1_meas structure by MS side measurement
values which are transmitted by PACKET DOWNLINK ACK/NACK and
PACKET RESOURCE REQUEST messages. The encoded values are remapped to
dB respectively % values. The values are stored in the corresponding
MS object (if there is one).
Note that the values are store as (rounded) integers, so some
different encodings are mapped to the same decoded value.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/pcu_vty_functions.cpp')
-rw-r--r-- | src/pcu_vty_functions.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index bf4843f1..4f54e8e2 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -58,6 +58,8 @@ int pcu_vty_show_ms_all(struct vty *vty, struct gprs_rlcmac_bts *bts_data) static int show_ms(struct vty *vty, GprsMs *ms) { + unsigned i; + vty_out(vty, "MS TLLI=%08x, IMSI=%s%s", ms->tlli(), ms->imsi(), VTY_NEWLINE); vty_out(vty, " Timing advance (TA): %d%s", ms->ta(), VTY_NEWLINE); vty_out(vty, " Coding scheme uplink: CS-%d%s", ms->current_cs_ul(), @@ -79,6 +81,20 @@ static int show_ms(struct vty *vty, GprsMs *ms) if (ms->l1_meas()->have_bto) vty_out(vty, " Burst timing offset: %d/4 bit%s", ms->l1_meas()->bto, VTY_NEWLINE); + if (ms->l1_meas()->have_ms_rx_qual) + vty_out(vty, " MS RX quality: %d %%%s", + ms->l1_meas()->ms_rx_qual, VTY_NEWLINE); + if (ms->l1_meas()->have_ms_c_value) + vty_out(vty, " MS C value: %d dB%s", + ms->l1_meas()->ms_c_value, VTY_NEWLINE); + if (ms->l1_meas()->have_ms_sign_var) + vty_out(vty, " MS SIGN variance: %d dB%s", + ms->l1_meas()->ms_sign_var, VTY_NEWLINE); + for (i = 0; i < ARRAY_SIZE(ms->l1_meas()->ts); ++i) { + if (ms->l1_meas()->ts[i].have_ms_i_level) + vty_out(vty, " MS I level (slot %d): %d dB%s", + i, ms->l1_meas()->ts[i].ms_i_level, VTY_NEWLINE); + } if (ms->ul_tbf()) vty_out(vty, " Uplink TBF: TFI=%d, state=%s%s", ms->ul_tbf()->tfi(), |