summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-27 17:30:08 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-27 17:30:08 +0100
commit38c902b7765c2c689a8dbed8e0f832c504d74845 (patch)
tree017150f150991bc57de7a483e6a54f07ff63bcba /include/osmocom/gsm
parenta57f90c80baaf6c668ec8bb0272327bcbdd63b12 (diff)
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
Diffstat (limited to 'include/osmocom/gsm')
-rw-r--r--include/osmocom/gsm/l1sap.h10
1 files changed, 8 insertions, 2 deletions
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 */