Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00
Andre Puschmann
a8acd235f6
extend eNB MAC to support multiple CC per UE
...
- add tx/rx softbuffers for each CC that a UE might have
- make sure to call assign correct buffers when iterating
over the CC for UL/DL grant assignment
2020-03-11 10:16:23 +01:00
Francisco Paisana
a744729007
use range of rbgs
2020-03-10 22:06:07 +00:00
Francisco Paisana
46579da1ff
use signed integer to express the error
2020-03-10 22:06:07 +00:00
Francisco Paisana
bcbb08ebae
use initial_dl_cqi for first DL tx.
2020-03-10 22:06:07 +00:00
Francisco Paisana
3b937348a2
refactored some sched util methods
2020-03-10 22:06:07 +00:00
Francisco Paisana
fad897cb35
DL scheduler metric now takes into account the min and max of RBGs possible. This is to forbid segmentation of SRB0 allocations
2020-03-10 22:06:07 +00:00
Francisco Paisana
6317750de2
fix computation of ranged of allowed sched dl bytes
2020-03-10 22:06:07 +00:00
Francisco Paisana
414259e83b
fix allocation expected alloc bytes (min and max)
2020-03-10 22:06:07 +00:00
Francisco Paisana
e62972d38e
fix fdd delays in scheduler
2020-03-10 14:17:49 +01:00
Andre Puschmann
2edecea33e
fix SIB transmission for CA
...
Avoid double buffering of SIBs in MAC as this would require one buffer for each CC.
Instead, use byte_buffer managed by RRC that contains packed SIBs to avoid
double memcpy for each SIB tx. Only use MAC provided buffer in error case.
Also avoid MAC calling RLC for each SIB and call RRC directly.
2020-03-09 14:18:09 +01:00
Andre Puschmann
120ad76c63
refactor cell param handling and fix SIB transmissions
...
- move cell specific eNB params to cell list in rr.conf
- make sure DL EARFCN and DL freq can be used to manually overwrite a single cell config
- fix SIB packing and transmission for multi cell configs
- introduce cell list to MAC
- adapt default enb.conf.example and rr.conf.example
2020-03-06 16:20:44 +01:00
Xavier Arteaga
da701cd82b
SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup.
2020-03-06 13:58:49 +01:00
Francisco Paisana
ec1f1cc677
remove const_casts from scheduler. Fix ODR issue
2020-03-05 20:23:07 +00:00
Francisco Paisana
e9a599857a
created a header for all common structs and helper functions
2020-03-05 20:23:07 +00:00
Francisco Paisana
02ccb8b32b
fix wrong calculation of sched tx and rx delays
2020-03-05 20:23:07 +00:00
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
2020-03-05 20:46:14 +01:00
Francisco Paisana
43e67b8536
created a harq entity that handles all harq procs. This entity accepts as arg the number of harq procs.
2020-03-05 17:51:33 +00:00
Francisco Paisana
1c041b2c1d
created harq entity class
2020-03-05 17:51:33 +00:00
Francisco Paisana
7e840bde86
fix tb idx assignment in scheduler mac sdu alloc
2020-03-05 12:18:05 +00:00
Francisco Paisana
d1356568e0
separated sf sched result from sf_sched class. The interface became way simpler. No need for finish_tti() method, sf_sched::new_tti() is called automatically when we access the sf_sched.
2020-03-05 00:04:21 +00:00
Francisco Paisana
bb38fa7119
fixed tti resetting after tti end
2020-03-05 00:04:21 +00:00
Francisco Paisana
47b05118ad
simplified msg3 allocation. Now we can allocate resources ahead of time (e.g. msg3 is 2 ttis ahead) using the sf_sched interface. It's guaranteed that the given allocations wont be erased when the respective tti starts
2020-03-05 00:04:21 +00:00
Francisco Paisana
8f7890c60a
store mask results in separate variables for testing, and reset sf_sched state at the end of the tti
2020-03-05 00:04:21 +00:00
Francisco Paisana
b37d9b9930
fixed msg4 setting in sched tester
2020-03-03 21:26:17 +00:00
Francisco Paisana
3cc94c3694
simplified mutexing of the scheduler. One single mutex for everything, and removed rwlock
2020-03-03 21:26:17 +00:00
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
2020-03-03 21:03:21 +00:00
Francisco Paisana
ad9e126299
test for different enb_cc_idxs as pcell. Bug fixes
2020-03-02 16:33:31 +00:00
Francisco Paisana
0f3ef11f8b
now the scheduler only activates a scell after receiving a valid CQI for the SCell
2020-03-02 16:33:31 +00:00
Xavier Arteaga
b45223c880
Fix minor MAC Clang warnings
2020-03-02 12:19:09 +01:00
Francisco Paisana
e859d622c7
added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas
2020-02-28 11:33:26 +00:00
Francisco Paisana
d831522692
addition of SCell Activation CE Cmd to scheduler and MAC
2020-02-14 21:49:01 +00:00
Francisco Paisana
838053e8f2
added SCell Activation CE to scheduler. Handling this CE in the MAC is still missing
2020-02-14 21:49:01 +00:00
Xavier Arteaga
385102fa2d
SRSENB: minor format, renaming and interface changes
2020-02-13 10:29:00 +01:00
Xavier Arteaga
231431f569
SRSENB: enabled CA PUCCH decode in eNb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
35f4e5d69a
Initial PUCCH 1B with channel selection
2020-02-13 10:29:00 +01:00
Francisco Paisana
c9ac42f11d
renamed rlc pdu / mac sdu allocate functions, and added some comments describing what these functions do
2020-02-10 16:55:18 +00:00
Francisco Paisana
87038375d5
fixed the building of MAC SDUs in the scheduler. Now, we ensure there is always space for the MAC subheader and RLC header. The MAC subheader is correctly discounted from the remaining bytes in a TB.
2020-02-10 16:55:18 +00:00
Francisco Paisana
c8fc0d91b3
changed the supported cc list to a vector of structs
2020-02-07 15:06:46 +00:00
Francisco Paisana
42b15c7bed
use common ue_cfg interface to set the ue antenna info
2020-02-07 15:06:46 +00:00
Francisco Paisana
5f557700f2
changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete
2020-02-07 15:06:46 +00:00
Francisco Paisana
b66bc3a6b0
create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler
2020-02-07 15:06:46 +00:00
Francisco Paisana
88a22e7dbf
support cc cfg from rrc
2020-02-07 15:06:46 +00:00
Francisco Paisana
095d0cda5a
fix regs leak
2020-02-07 15:06:46 +00:00
Francisco Paisana
e86862611c
update the scheduler interfaces to accommodate the configuration of multiple carriers
2020-02-07 15:06:46 +00:00
Francisco Paisana
2dc31ea440
added interface to configure multiple cells from the RRC
2020-02-07 15:06:46 +00:00
Francisco Paisana
c537d38650
separated sched tests based on output into a separate file. Added scheduler random tester to unit tests
2020-01-29 17:15:35 +00:00
Francisco Paisana
a9b8c3fd55
fix msg3 prb limit for prb==6. It has to collide with PUCCH
2020-01-28 17:15:23 +00:00
Francisco Paisana
39fff9ed68
fix potential bug with grouping of RARs with same RA-RNTI but different prach_tti. The scheduler might not clear the old tti on time before the grouping.
2020-01-28 17:15:23 +00:00
Francisco Paisana
de195e9521
changed the RAR schedule to support the allocation of nof_grants lower than the current nof_grants in the queue with same ra-rnti
2020-01-28 17:15:23 +00:00
Francisco Paisana
a74dcd947f
changed rar/msg3 scheduling to accommodate multiple rars per TTI
2020-01-28 17:15:23 +00:00
Francisco Paisana
dc782e514b
change the naming from tti --> sf for scheduling operations specific to a subframe
2020-01-28 17:15:23 +00:00
Xavier Arteaga
b08c1f003e
SRSENB: enabled multiple cells from rr.cfg
2020-01-28 11:22:50 +01:00
Pedro Alvarez
c5979f59eb
Clang format UE, eNB and lib ( #850 )
...
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
2019-12-16 16:04:22 +01:00
Francisco Paisana
ab3d7dd413
updated sched interface for multiple carriers
2019-12-03 15:46:22 +00:00
Francisco Paisana
1da86df597
added map between cc_idx and enb cell specifier
2019-12-03 10:04:11 +00:00
Francisco Paisana
eeb47f8fa4
fixed issue regarding repetition of ConRes tx
2019-12-03 10:04:11 +00:00
Francisco Paisana
e94e0a8641
changed the logic associated with the tx of the conres CE
2019-12-03 10:04:11 +00:00
Francisco Paisana
3159a5b84a
added cc_idx to dl_rach_info
2019-12-02 12:36:27 +00:00
Francisco Paisana
01847c5f5d
phy_config_enabled is general to all the carriers of the ue
2019-12-02 12:36:27 +00:00
Francisco Paisana
cab9327b1a
updated scheduler interfaces to accommodate multiple carriers
2019-12-02 12:36:27 +00:00
Francisco Paisana
6d4f746a61
moved tti_sched_result out of carrier_sched. Removed interdependencies between the two classes. Simplified ra_sched and bc_sched initialization
2019-11-28 20:22:40 +00:00
Francisco Paisana
7990e2f563
use of a common tti_params struct to store all values derived from tti_rx
2019-11-28 20:22:40 +00:00
Francisco Paisana
011b2168a6
grouped different sched params/args/derived params into a single struct to simplify the ctor api of different sched sub components
2019-11-27 15:20:55 +00:00
Francisco Paisana
73e06a0858
removed threads from eNB MAC
2019-11-20 15:52:21 +00:00
Francisco Paisana
c8e50c1e19
DL/UL sched are called in a round-robin fashion
2019-11-08 16:02:27 +00:00
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
2019-11-08 13:59:38 +00:00
Xavier Arteaga
2e1479e9d6
SRSENB: Added PHY CA PRACH workers
2019-11-07 16:01:01 +01:00
Francisco Paisana
b88b8fde7b
moved the carrier scheduler and tti_result_t classes out of the main sched class. Now it is possible to instantiate more than one carrier_sched per sched
2019-10-31 16:01:04 +00:00
Francisco Paisana
2019fec37a
moved dl/ul scheduling to the a separate class carrier_sched
2019-10-31 16:01:04 +00:00
Francisco Paisana
00d24872d9
clang-format on all the scheduler files
2019-10-31 16:01:04 +00:00
Francisco Paisana
b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
...
Scheduler changes
2019-10-23 20:40:38 +01:00
Francisco Paisana
8440126d35
removal of srslte::timers class
2019-10-23 19:33:25 +01:00
Francisco Paisana
6aec98e140
cleanup of some type names, and other minor changes
2019-10-23 18:47:37 +01:00
Francisco Paisana
c19e0d9423
moved the RAR/Msg3 scheduling to a separate class
2019-10-23 18:46:26 +01:00
Francisco Paisana
e0b8be61e5
provided a general way to access ue_db from the scheduler
2019-10-23 18:07:42 +01:00
Francisco Paisana
d79e49ed4c
moved the BC scheduling to a separate class/file
2019-10-23 18:06:32 +01:00
Francisco Paisana
837c16557f
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
2019-10-23 17:48:47 +01:00
Francisco Paisana
84ac16826f
modernized the scheduler code, and removed some clang-tidy warnings
2019-10-23 17:48:47 +01:00
Ismael Gomez
3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
...
* Added channel emulator to srsENB. Added support for fixed delay
* Bug in OFDM when using nonguru mode
* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Francisco Paisana
424876c5e4
added DL TTI mask for MBMS
2019-07-21 22:27:17 +02:00
Andre Puschmann
f1387d8cf8
fix uninitialized vars in scheduler_grid
2019-07-15 15:32:58 +02:00
Andre Puschmann
4e86b2f6b2
introduce layerd architecture we use for UE to eNB
...
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
2019-07-12 04:17:56 +02:00
Andre Puschmann
92f0d58856
mac: move further init/config into ctor to allow early logging, etc.
2019-07-05 17:24:06 +02:00
Andre Puschmann
6a11030ae1
enb: fix race condition in workers overwriting the DL tx buffer
...
this adds a own tx buffer for each HARQ PID
2019-07-05 10:48:30 +02:00
Francisco Paisana
34fde16b40
change scheduler mutex to std::mutex ( #546 )
...
* change scheduler mutex to std::mutex
* rename lck to lock
2019-07-01 11:38:37 +02:00
Andre Puschmann
da35f41dd5
rework MAC logical channel prioritization
2019-06-26 17:57:25 +02:00
Francisco Paisana
ce29ed545d
moved mac thread to the stack. Protect the interface of the stack with PHY and gateway via a queue of tasks
2019-06-21 13:01:41 +02:00
Francisco Paisana
415d3418b6
reorganized enb to mirror ue director/class structure with a stack class
2019-06-07 15:41:56 +02:00