From 38c902b7765c2c689a8dbed8e0f832c504d74845 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 27 Feb 2018 17:30:08 +0100 Subject: l1sap: Add fields for higher-precision timing offset values So far, we used quarter-bits across the L1SAP between the hardware/PHY specific part of OsmoBTS and the common part. In order to increase the resolution, let's add fields/members for 1/256th bit. In order to keep ABI and API compatibility, we use a union around the old and new values, so old code will still compile + work withe new libosmocore. Change-Id: Ibb58113c2819fe2d6d23ecbcfb8b3fce4055025d --- include/osmocom/gsm/l1sap.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/osmocom/gsm/l1sap.h b/include/osmocom/gsm/l1sap.h index 18ad7d20..9a9c008d 100644 --- a/include/osmocom/gsm/l1sap.h +++ b/include/osmocom/gsm/l1sap.h @@ -77,7 +77,10 @@ struct ph_data_param { uint32_t fn; /*!< GSM Frame Number */ int8_t rssi; /*!< RSSI of receivedindication */ uint16_t ber10k; /*!< BER in units of 0.01% */ - int16_t ta_offs_qbits; /* !< Burst TA Offset in quarter bits */ + union { + int16_t ta_offs_qbits; /* !< Burst TA Offset in quarter bits */ + int16_t ta_offs_256bits;/*!< timing advance offset (in 1/256th bits) */ + }; int16_t lqual_cb; /* !< Link quality in centiBel */ enum osmo_ph_pres_info_type pdch_presence_info; /*!< Info regarding presence/validity of header and data parts */ }; @@ -107,7 +110,10 @@ struct info_meas_ind_param { uint8_t chan_nr; /*!< Channel Number (Like RSL) */ uint32_t fn; /*!< GSM Frame Number */ uint16_t ber10k; /*!< BER in units of 0.01% */ - int16_t ta_offs_qbits; /*!< timing advance offset (in qbits) */ + union { + int16_t ta_offs_qbits; /*!< timing advance offset (in qbits) */ + int16_t ta_offs_256bits;/*!< timing advance offset (in 1/256th bits) */ + }; int16_t c_i_cb; /*!< C/I ratio in 0.1 dB */ uint8_t is_sub:1; /*!< flags */ uint8_t inv_rssi; /*!< RSSI in dBm * -1 */ -- cgit v1.2.3