diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-02-27 17:30:08 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-02-27 17:30:08 +0100 |
commit | 38c902b7765c2c689a8dbed8e0f832c504d74845 (patch) | |
tree | 017150f150991bc57de7a483e6a54f07ff63bcba /include/osmocom | |
parent | a57f90c80baaf6c668ec8bb0272327bcbdd63b12 (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')
-rw-r--r-- | include/osmocom/gsm/l1sap.h | 10 |
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 */ |