aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_l1_if.h
AgeCommit message (Collapse)AuthorFilesLines
2016-12-16Fix uninitialized members in pcu_l1_meas()Harald Welte1-1/+8
Change-Id: I76a03c9f54be474ab9ece908ef782807d555c6ac Fixes: Coverity CID 57952
2016-12-16struct pcu_l1_meas_ts: initialize ms_i_levelHarald Welte1-1/+2
Change-Id: I93de7589d746b91ba26b1b36bf2690f125277cd0 Fixes: Coverity CID 57953
2016-10-19Use qbit-TA to update Timing AdvanceMax1-0/+9
Separate qbit-TA to TA conversion into separate function and use it for computing and updating Timing Advance. Note: the code was tested with TA=0 only to make sure it does not introduce regressions. Change-Id: I96fdbb20b09fb85fdd9fb6dcf3c25f6bee7f80e4 Fixes: OS#1531
2016-07-26Remove useless ARFCN parameterMax1-1/+1
ARFCN is already part of TRX struct so there's no need to supply it explicitly in a separate parameter. I've tested and those are the same anyway. Change-Id: I8e975c52cbc819427880093b1e5371fe1f8ce460
2015-08-28l1: Use the FN of all data_ind/ra_ind DSP messagesJacob Erlbeck1-4/+7
Currently all of these messages are discarded if they are assumend to be caused by noise. But even in these cases, the FN and TN values which are added by the DSP are valid. So these can be used to update the current_frame value. The osmo-bts sets the fBFILevel of a physical channel to -200dB if it is used for PDTCH or PACCH which is the case for all PDCH. This way a data_ind or ra_ind message is already send at least once per block period (4 frames) per PDCH. These messages are passed to either handle_ph_data_ind or handle_ph_ra_ind even if they contain garbage data. The ra_ind messages are sometimes sent a few frames earlier than data_ind messages using the same frame. This commit adds calls to update the current_frame value based on all of these messages before they are discarded. The FN taken from ra_ind are passed with an increased max_delay (5) to compensate for early ra_ind messages. Sponsored-by: On-Waves ehf
2015-06-22l1: Store measurement values sent by the MSJacob Erlbeck1-2/+44
This commit extends the pcu_l1_meas structure by MS side measurement values which are transmitted by PACKET DOWNLINK ACK/NACK and PACKET RESOURCE REQUEST messages. The encoded values are remapped to dB respectively % values. The values are stored in the corresponding MS object (if there is one). Note that the values are store as (rounded) integers, so some different encodings are mapped to the same decoded value. Sponsored-by: On-Waves ehf
2015-06-22l1: Pass all L1 measurements upwardsJacob Erlbeck1-1/+33
Currently only the RSSI value is passed to the upper layers. Other values like TA and BER which are needed for TA update respectively CS selection are not propagated. This commit introduces and passes a struct that contains a set of measurement values. Sponsored-by: On-Waves ehf
2013-10-30bts: Move the frame_number into the BTS sructureHolger Hans Peter Freyther1-2/+0
The current_frame is an attribute of the BTS. Move it from the pcu_l1_if.cpp into the BTS. As the next step we can trigger actions depending on the change of the frame.
2013-10-02tbf: constify the IMSI argument for the downlink assignmentHolger Hans Peter Freyther1-1/+1
2013-03-17Add RSSI of data blocks to PCU interface0.2.00.2Andreas Eversberg1-1/+1
This bumps the PCU API version to 5 and requires osmo-bts >= 0.2.0.
2012-12-18Adding direct access to DSP of sysmoBTS for PDTCH trafficeAndreas Eversberg1-0/+17
In order to use this feature, sysmoBTS requires option "-M", otherwise the traffic is forwarded through socket interface. This is essential, if PCU runs on processor of sysmoBTS. The reaction time and delay of PDTCH frames could heavily degrade proper packet flow.
2012-07-12Merge branch 'jolly_new'Ivan Kluchnikov1-18/+4
Merge is based on jolly_new branch with two modifications. 1. Modified PCU L1 interface. pcu_l1_if.cpp - common functions for tx and rx messages on L1 interface. sysmo_sock.cpp - SYSMO-PCU socket functions. openbts_sock.cpp - OpenBTS-PCU socket functions. pcuif_proto.h - L1 interface's primitives. 2. Modified encoding of RLC/MAC Control messages, now we use structures and encode_gsm_rlcmac_downlink() function for encode control blocks (without hand-coding).
2012-07-09Send downlink IMMEDIATE ASSIGNMENT on PCH and not on AGCHAndreas Eversberg1-0/+1
The IMSI is used to define paging group on which it is sent. This is tested with MS that requires correct paging group.
2012-07-03TBF acknowledged mode finished for both link directionsAndreas Eversberg1-1/+0
2012-06-29Implemented Paging procedure on CCCH.Ivan Kluchnikov1-0/+1
Added functions: - gprs_bssgp_pcu_rx_paging_ps() for handling paging message from BSSGP; - write_paging_request() for writing paging request message; - gprs_rlcmac_paging_request() and pcu_l1if_tx_pch() for sending paging request message to BTS.
2012-06-27Work on RLCMAC layer. Integration of scheduler and new packet transferAndreas Eversberg1-16/+0
2012-06-23Split of L1 interface to be used with OpenBTS or sysmo-BTSAndreas Eversberg1-37/+20
The OpenBTS socket functions are moved from main to pcu_l1_if.cpp. New sysmo_l1_if.cpp is introduced. It used special unix socket interface to connect to sysmo-BTS. This is required to access CCCH/RACH and info about cell layout. Traffic is also forwarded via this interface, but it direct access of L1 baseband DSP will be added soon. In order to handle ready-to-send requests above l1_if, the transmit queue (for downlink blocks) is moved to gprs_rlcmac.cpp. The TBF instance additionally holds TRX and TS info, but this is only a hack currently. TBF instance requires more details about allocated ressources in the future.
2012-06-15Removed all OpenBTS dependencies. We don't use OpenBTS cout and gsmtap anymore.Ivan Kluchnikov1-2/+0
2012-06-14move everything to src/ subdirectoryHarald Welte1-0/+79
The code corresponds to commit a9aa4777cc1144897a77dfb6c5c3d7325705251e in openbts-p2.8.git (Tue Jun 12 18:14:49 2012 +0400)