this fixes the issue when the stack is torn down if, for example,
the radio couldn't be loaded correctly. it will hence call stop() on all stack
components which are not initialzized yet, and logging therefore doesn't work.
the log object is know during contruction time and therefore can be passed
in as soon as possible.
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
- this remove RF calibration parameters that were an extra
section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
device args in the normal rf config section
* Adding some debug prints to confirm the issue.
* Cleanup whitespaces.
* More debug prints
* Adding boolean to whether it is actually necessary to send NAS message in RRC reconfiguration.
* Deleting debug prints.
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit
* Optimised UL Interleaver
* Include TB CRC calculation in FEC encoder
* New threading priorities
add s1c_bind_addr config option to specify the local bind address used for S1AP connections instead of using the GTP address.
This allows operation on setups with split S1U and S1C networks.
* fixed some issues with the UL scheduling
* Hack to fix UL scheduler
* minor fix
* Cleaned up code and fixed issue with the update_allocation function
* fixed the console printing in the enb
* log/console fix
* fixed the log print
* added a normalization factor
* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface
* Limit decimals in metrics stdout
* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users
* Fix deadlock bug for MIMO
* Remove headers
* Fix missing unlock causing overflows
* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)
* Fix mutex unlock in worker
* Configurable RLC tx buffer. Default to 512 for enodeb
* Check NULL SDU in write_sdu()
* Protect RLC objects and tx_queue from being destroyed while using it
* Remove superfluous code
* Disable SIB logging
* Fix block_queue for enb
* fixing the threading structure for mbms in the gtpu
fixing some leaks in pmch tests
fixing stack overflow caused by radio objext
* adding sib.conf.mbsfn.example
* creating a different thread_mch object for the gtpu
* Make mch_thread an isolated class
* excluding mbsfn subframes from noise estimation and cfo estimation
* fixing pdsch ue plotting to only show pmch constellation when mbsfn is activated.
* Consolidated functions in S1AP
* Fixed ASAN in some GCC
* Stop quicker the enb
* Minor typo edit
* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
* scheduler still not working with RGBs. The reservation of RGBs is not sufficient for the RAR allocation.
* now in the scheduler, we allocate space not only for pending data but also for headers and CE
* cant connect. going to check if it is an issue of the next branch
* cleaned up the interface
* removed obsolete functioN
* minor fix
* function name change
* fixed the scheduler not filling the mask for multiple UEs
* fixed a bug related with the reset of the allocations
* The RR now saves the last UE to be assigned
* Solved PHICH Segmentation fault for MIMO
* Initial Guru FFT optimitzation
* Guru (i)FFT implemented. All test passed!
* Integrated new DFT into pdsch_enodeb and pdsch_ue. Solved more DFT bugs.
* Solved Merge Errors and bugs
* Solved UL Guru bug (DC missing). Updated Init and OFDM calls for enb and ue (cell measurement too).
This is a larger patch that reworks the LCID handling throughout the
code.
- It first moves the RB/LCID mapping out of common.h into the RRC object
because different RATs may have different mappings.
- It adds a interface to RRC that other objects like RLC/PDCP/etc. may
use to get the bearer name of a specific LCID.
- The patch also introduces a PDCP config class.