Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2013-10-30 | tbf: Move gprs_rlcmac_send_data_block_acknowledged into tbf | Holger Hans Peter Freyther | 1 | -370/+0 | |
We can now remove the gprs_rlcmac_data as the code has been moved into the tbf, pdch and bts. | |||||
2013-10-30 | tbf: Move gprs_rlcmac_send_packet_uplink_assignment into the tbf | Holger Hans Peter Freyther | 1 | -144/+0 | |
2013-10-30 | tbf: Move gprs_rlcmac_send_packet_uplink_assignment to the tbf | Holger Hans Peter Freyther | 1 | -75/+0 | |
Again the function was called send but didn't do any sending | |||||
2013-10-30 | tbf: Move gprs_rlcmac_send_uplink_ack into the tbf | Holger Hans Peter Freyther | 1 | -56/+0 | |
The method was called send but didn't send anything. Move it to the tbf | |||||
2013-10-30 | bts: Move gprs_rlcmac_rcv_rach into the BTS class | Holger Hans Peter Freyther | 1 | -83/+0 | |
2013-10-30 | tbf: Move gprs_rlcmac_send_packet_downlink_assignment into the tbf | Holger Hans Peter Freyther | 1 | -92/+0 | |
This method was called _send_packet_ but actually didn't do any sending at all. It just formated the right assignment. I replaced tbf-> with nothing. | |||||
2013-10-30 | bts: Move gprs_rlcmac_trigger_downlink_assignment into BTS | Holger Hans Peter Freyther | 1 | -40/+1 | |
2013-10-30 | debug_dl_ass_idle: Remove the feature as it is obviously broken | Holger Hans Peter Freyther | 1 | -16/+0 | |
strncpy takes three arguments but only two are given. This feature would also only work if there is one tbf at a time. | |||||
2013-10-30 | tbf: Move gprs_rlcmac_poll_timeout into the tbf | Holger Hans Peter Freyther | 1 | -130/+1 | |
Move the gprs_rlcmac_poll_timeout method into the tbf class and gprs_rlcmac_downlink_assignment into the BTS. | |||||
2013-10-30 | bts: Move rcv_imm_ass_cnf into the bts code | Holger Hans Peter Freyther | 1 | -40/+0 | |
2013-10-30 | tbf: kill the indirection and invoke the right method | Holger Hans Peter Freyther | 1 | -9/+4 | |
2013-10-30 | tbf/bts: Move the tfi_find_free into the bts | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | tbf: Move the timer routine into the class | Holger Hans Peter Freyther | 1 | -2/+2 | |
The timer is used for various timeouts and there is still external client code that is calling it. In a perfect world the client code would indicate that an event has happened and the internal timer will be stopped. The best compromise is the "stop_t3191" method. It allows to add semantic verification that the timer has been running. | |||||
2013-10-30 | tbf: Move the updating of the data into the tbf class | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | pdch: Move the giant switch/case of gprs_rlcmac_rcv_control_block | Holger Hans Peter Freyther | 1 | -267/+0 | |
Move the dispatch into the PDCH. This needs to be split up further into understandable blocks. | |||||
2013-10-30 | pdch/tbf: Move gprs_rlcmac_rcv_data_block_acknowledged into the pdch | Holger Hans Peter Freyther | 1 | -464/+1 | |
Move the method into the PDCH. Extract the finding of TLLI into a new class called Decoding. Move the assemble and forward LLC frames into the TBF as it is poking in the internals of the TBF. | |||||
2013-10-30 | misc: Remove the bts parameter from calls that take a tbf | Holger Hans Peter Freyther | 1 | -22/+26 | |
Mark some of the tbf manipulation that is burried in the data sending routine.. that it should be moved around. | |||||
2013-10-30 | tbf: First round of removing llc handling from the rlcmac_data | Holger Hans Peter Freyther | 1 | -53/+5 | |
The code in gprs_rlcmac_data should ask the TBF for help in packing the frames but it really shouldn't poke in the internals of the tbf structure. This is very bad capsuling and has plenty of copy and paste. At the same thime this will be the most dangerous refactoring of the code base. | |||||
2013-10-30 | data: Move gprs_rlcmac_cs to the place it is used and make static | Holger Hans Peter Freyther | 1 | -0/+10 | |
2013-10-30 | bts/tbf: Move the lists into the BTS and do the look-up from the BTS | Holger Hans Peter Freyther | 1 | -38/+38 | |
The list belongs to the BTS. This makes cleaning this up more easy and establishes a hierachy of resources that start from the BTS. The debug_diagram code is now broken. | |||||
2013-10-30 | tbf: Keep a pointer from the tbf to the BTS | Holger Hans Peter Freyther | 1 | -1/+1 | |
This is preparing the next commits and will ease working with the debug_diagram when the global lists are killed. It will simplify the APIin the long run. | |||||
2013-10-30 | sba: Create a SBAController that will manage the sbas for a BTS | Holger Hans Peter Freyther | 1 | -7/+7 | |
The PollController is a friend of the SBAController and is allowed to access the internal list. The list is hidden from everyone else. This is done because the calculation of timeout should belong into the PollController and not into the SBAController. | |||||
2013-10-30 | sba: Move the sba code to a dedicated file | Holger Hans Peter Freyther | 1 | -9/+0 | |
Move the code around and then turn it into an object... | |||||
2013-10-30 | ta: Create TimingAdvance class and make it belong to the BTS | Holger Hans Peter Freyther | 1 | -4/+4 | |
This allows us to easily flush the state in case a PCU/BTS connection is lost. | |||||
2013-10-30 | encoding: Move the functions into the encoding class | Holger Hans Peter Freyther | 1 | -6/+7 | |
Add some TODO to this class. E.g. they could all work on the bitvec and the parameter handling could better. | |||||
2013-10-30 | bts: Move struct gprs_rlcmac_bts and other structs into a bts.h | Holger Hans Peter Freyther | 1 | -0/+1 | |
Begin to make the BTS a real C++ object with real responsibilities. The biggest issue will be the pcu_vty.c that might not like C++ at all. | |||||
2013-10-30 | bts: Remove the global state from the tbf | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Remove global state from write_immediate_assignment | Holger Hans Peter Freyther | 1 | -3/+3 | |
2013-10-30 | bts: Remove global state from write_packet_uplink_assignment | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Remove global state from gprs_rlcmac_send_packet_uplink_assignment | Holger Hans Peter Freyther | 1 | -1/+1 | |
This was the last method of gprs_rlcmac_data.cpp to access the gprs_rlcmac_bts variable. | |||||
2013-10-30 | bts: Remove global state frm gprs_rlcmac_rcv_control_block | Holger Hans Peter Freyther | 1 | -2/+2 | |
2013-10-30 | bts: Remove global state from gprs_rlcmac_send_data_block_acknowledged | Holger Hans Peter Freyther | 1 | -1/+1 | |
2013-10-30 | bts: Remove global state from gprs_rlcmac_send_packet_downlink_assignment | Holger Hans Peter Freyther | 1 | -3/+1 | |
2013-10-30 | bts: Remove global state from gprs_rlcmac_rcv_rach | Holger Hans Peter Freyther | 1 | -2/+2 | |
2013-10-30 | bts: Remove global state from gprs_rlcmac_rcv_data_block_acknowledged | Holger Hans Peter Freyther | 1 | -2/+2 | |
2013-10-30 | bts: Remove the global state from write_packet_uplink_ack | Holger Hans Peter Freyther | 1 | -8/+3 | |
Similiar to the previous patches | |||||
2013-10-30 | bts: Remove the global state gprs_rlcmac_trigger_downlink_assignment | Holger Hans Peter Freyther | 1 | -12/+13 | |
Remove the global state from gprs_rlcmac_trigger_downlink_assignment and walk up to the pcu_l1_if.cpp where I find the timeout handling that should be part of the SBA and TBF functionality. In terms of hierachies things start to be more clear. There should be the BTS object. That holds the SBA and TBF Controllers that can allocate TBFs and SBAs and will handle the timeout polling for a BTS. | |||||
2013-10-30 | bts: Remove global state and the usage of the gprs_rlcmac_bts | Holger Hans Peter Freyther | 1 | -1/+1 | |
Global state makes mocking/writing tests more difficult. Continue by removing direct usage of the bts and adding it as pointer to the function calls (showing the true dependencies of the functions) | |||||
2013-10-30 | alloc: Call it trx_no and not trx as it is not trx object | Holger Hans Peter Freyther | 1 | -5/+5 | |
2013-10-28 | tbf: Prepare to make thing things private in the tbf, start with the state | Holger Hans Peter Freyther | 1 | -9/+9 | |
There really shouldn't be too many callers of state. Instead the tbf should dispatch depending on the internal state. For now introduce state_is and state_is_not accessor functions so we can start to see who is using the internal state. | |||||
2013-10-28 | tbf: Move the tbf_timer_cb into the tbf class | Holger Hans Peter Freyther | 1 | -71/+1 | |
Introduce the first instance method for printing out diagonistic about itself and create a jump function for it. | |||||
2013-10-18 | tbf: Move the alloc_ul_tbf into tbf.c and change signature | Holger Hans Peter Freyther | 1 | -38/+3 | |
Add the bts parameter to the method list. This would be a static method of the class (in case the TBF would be a class) | |||||
2013-10-18 | tbf: Warn about copy and paste between different tbf alloc routines | Holger Hans Peter Freyther | 1 | -0/+2 | |
These need to be re-factored to use a common allocation routine. | |||||
2013-10-02 | tbf: constify the IMSI argument for the downlink assignment | Holger Hans Peter Freyther | 1 | -3/+3 | |
2013-10-02 | tfi: The tfi_alloc doesn't allocate anything, rename the function | Holger Hans Peter Freyther | 1 | -2/+2 | |
Call things by what they do and this function doesn't allocate anything but it is searching for the first unallocated tbf index. | |||||
2013-09-04 | rlcmac: Reduce the depedency on the global gprs_rlcmac_bts variable | Holger Hans Peter Freyther | 1 | -7/+8 | |
For mocking/unit-testing/emulation (and a dual trx-systems) having global state is quite bad. Cut back on the usage of the global struct gprs_rlcmac_bts. It also makes the complexity of certain routines more clear. | |||||
2013-07-30 | misc: Move the struct bssgp_bvc_ctx into the struct osmo_pcu | Holger Hans Peter Freyther | 1 | -1/+2 | |
2013-05-13 | Added timing advance support for up and downlink TBFs | Andreas Eversberg | 1 | -2/+42 | |
The timing advance of any TBF is stored when it ends. Whenever a new TBF with the same TLLI is created (downlink TBF), the stored TA is recalled. This algorithm assumes that the mobile does not move too fast during transfer. Also the mobile must start a connection in order to get correct initial timing advance. This algorithm does not implement the timing advance procedure as defined in TS 04.60. To implement the standard timing advance procedure, the BTS must decode RACH on certain bursts, the mobile is expected to send them. This requires much more complexity to a transceiver like USRP/UmTRX or Calypso BTS. The algorithm was tested at TA >= 8 and works quite well. | |||||
2013-03-17 | Introduce new file for various measurements | Andreas Eversberg | 1 | -44/+40 | |
The measurements include: - DL bandwidth usage - DL packet loss rate - DL measurements by mobile - UL measurements by BTS In order to receive DL measurements from mobile, it must be enabled via system information message at BSC. | |||||
2013-03-17 | Add RSSI of data blocks to PCU interface0.2.00.2 | Andreas Eversberg | 1 | -1/+1 | |
This bumps the PCU API version to 5 and requires osmo-bts >= 0.2.0. |