diff options
author | Max <msuraev@sysmocom.de> | 2016-07-28 14:54:13 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-08-04 15:06:12 +0000 |
commit | cbf9a721d669ef0c724553f4604aee89f8e723dc (patch) | |
tree | 2d11c67e4bc3515e85551c21963bc454cd0950ad | |
parent | 505a86d396d4ee6e821e8337056e85362a55848f (diff) |
Extend BTS <-> PCU protocol with measurement
Note: this increases the version of BTS <-> PCU protocol and thus
requires corresponding change in BTS.
Change-Id: Ide0e29b668ee38516605c1763fda85e87e867813
Related: OS#1616
-rw-r--r-- | src/pcu_l1_if.cpp | 10 | ||||
-rw-r--r-- | src/pcuif_proto.h | 5 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 36cf9adc..14342136 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -214,7 +214,15 @@ static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind, struct gsmtap_inst int rc; pcu_l1_meas meas; meas.set_rssi(data_ind->rssi); - +#ifndef ENABLE_DIRECT_PHY + /* convert BER to % value */ + meas.set_ber(data_ind->ber10k / 100); + meas.set_bto(data_ind->ta_offs_qbits); + meas.set_link_qual(data_ind->lqual_cb / 10); + LOGP(DL1IF, LOGL_DEBUG, "Data indication with raw measurements " + "received: BER10k = %d, BTO = %d, Q = %d\n", data_ind->ber10k, + data_ind->ta_offs_qbits, data_ind->lqual_cb); +#endif LOGP(DL1IF, LOGL_DEBUG, "Data indication received: sapi=%d arfcn=%d " "block=%d data=%s\n", data_ind->sapi, data_ind->arfcn, data_ind->block_nr, diff --git a/src/pcuif_proto.h b/src/pcuif_proto.h index 9d740ac1..d3203802 100644 --- a/src/pcuif_proto.h +++ b/src/pcuif_proto.h @@ -1,7 +1,7 @@ #ifndef _PCUIF_PROTO_H #define _PCUIF_PROTO_H -#define PCU_IF_VERSION 0x05 +#define PCU_IF_VERSION 0x06 /* msg_type */ #define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */ @@ -50,6 +50,9 @@ struct gsm_pcu_if_data { uint8_t ts_nr; uint8_t block_nr; int8_t rssi; + uint16_t ber10k; /*!< \brief BER in units of 0.01% */ + int16_t ta_offs_qbits; /* !< \brief Burst TA Offset in quarter bits */ + int16_t lqual_cb; /* !< \brief Link quality in centiBel */ } __attribute__ ((packed)); struct gsm_pcu_if_rts_req { |