aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pcu_l1_if.cpp10
-rw-r--r--src/pcuif_proto.h5
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 {