A new phy scope based on ImGui and ImPlot. This scope uses a different concurrency model than previous scopes. The PHY thread writing the data first checks if the data is ready to be written. If its not, nothing is copied. The GUI thread reads data if available and marks it ready to write. This makes sure that the PHY threads are not busy copying data that would never be displayed. Some of the scopes also have a freeze functionality that further limit the amount of data that needs to be copied from PHY threads. If a scope is "frozen" it still allows the user to explore the data using plots zoom/pan functions but doesn't cause PHY threads to perform extra writes on the displayed data. A compile option was added to enable/disable the scope. Use cmake -DENABLE_IMSCOPE=ON to enable the scope. Update CXX standard to 17; it is required by some libraries (e.g., dear imgui). The oldest gcc version in use by a distribution supported is Ubuntu 20, which has gcc 9.4 with c++17 support.
5.1 KiB
5.1 KiB
|
OpenAirInterface documentation overview |
[[TOC]]
General
- FEATURE_SET.md: lists supported features
- GET_SOURCES.md: how to download the sources
- BUILD.md: how to build the sources
- code-style-contrib.md: overall working practices, code style, and review process
- cross-compile.md: how to cross-compile OAI for ARM
- clang-format.md: how to format the code
- sanitizers.md: how to run with ASan/UBSan/MemSAN/TSan
- environment-variables.md: the environment variables used by OAI
- tuning_and_security.md: performance and security considerations
There is some general information in the OpenAirInterface Gitlab Wiki
Tutorials
- Step-by-step tutorials to set up 5G:
- RUNMODEM.md: Generic information on how to
- Run simulators
- Run with hardware
- Specific OAI modes (phy-test, do-ra, noS1)
- (5G) Using SDAP and custom DRBs
- IF setups and arbitrary frequencies
- MIMO
- How to run OAI with O-RAN 7.2 FHI
- How to run a 5G-NSA setup
- How to run a 4G setup using L1 simulator Note: we recommend the RFsimulator
- How to use the L2 simulator
- How to use the OAI channel simulator
- How to use multiple BWPs
- How to run OAI-VNF and OAI-PNF Note: does not work currently
- How to use the positioning reference signal (PRS)
- How to use device-to-device communication (D2D, 4G)
- How to run with E2 agent
- How to run the physical simulators
- How to setup OAI with Nvidia Aerial and Foxconn
Legacy unmaintained files:
L2NFAPI_NOS1.md,L2NFAPI_S1.md: old L2simulator, not valid anymoreSystemX-tutorial-design.md: old, high-level documentationUL_MIMO.txt: UL-MIMO specific notes
Designs
- General software architecture notes: SW_archi.md
- Information on E1
- Information on F1
- Information on how NR nFAPI works
- Flow graph of the L1 in gNB
- L1 threads in NR-UE
Legacy unmaintained files:
Building and running from images
- How to build images
- How to run 5G with the RFsimulator from images
- How to run 4G with the RFsimulator from images
- How to run 5G with the L2simulator from images
- How to run physical simulators in OpenShift
Libraries
General
- The T tracer: a generic tracing tool (VCD, Wireshark, GUI, to save for later, ...)
- OPT: how to trace to wireshark
- The configuration module
- The logging module
- The shared object loader
- The threadpool used in L1
- The LDPC implementation is a shared library
Radios
Some directories under radio contain READMEs:
The other SDRs (AW2S, LimeSDR, ...) have no READMEs.
Special-purpose libraries
- OAI has two scopes: one based on Xforms and one based on imgui, described in this README
- OAI comes with an integrated telnet server to monitor and control
- OAI comes with an integrated web server
Testing
- UnitTests.md explains the unit testing setup
- TESTBenches.md lists the CI setup and links to pipelines