An error occurred fetching the project authors.
  1. 25 Oct, 2024 1 commit
  2. 17 Oct, 2024 1 commit
  3. 08 Oct, 2024 1 commit
  4. 30 Sep, 2024 1 commit
    • Bartosz Podrygajlo's avatar
      Time domain samples scope for NR UE · 7986a4de
      Bartosz Podrygajlo authored
      Add a new scope data source (ueTimeDomainSamples) which provides time domain samples
      for antenna 0 to the scope. Add graphical representation of the data in imscope.
      
      Removed C-define from ENABLE_IMSCOPE cmake option, the #define was unused and this way
      code does not have to be recompiled when imscope enable state changes.
      7986a4de
  5. 27 Sep, 2024 1 commit
  6. 25 Sep, 2024 1 commit
  7. 11 Sep, 2024 1 commit
  8. 05 Sep, 2024 1 commit
    • Bartosz Podrygajlo's avatar
      NR UE & gNB imscope. · bdc6df8c
      Bartosz Podrygajlo authored
      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.
      bdc6df8c
  9. 02 Sep, 2024 1 commit
  10. 28 Aug, 2024 3 commits
    • Robert Schmidt's avatar
      Avoid complete rebuild on cmake run with git info change · 8bffd166
      Robert Schmidt authored
      Before this commit, the following will trigger a complete rebuild:
      
      - create another git name (git checkout -b test)
      - run cmake again manually (cmake ..)
      - run ninja again
      
      The top-level CMakeLists.txt uses add_definitions() to add git
      information to all targets; if some git information changes, this will
      mark all command lines as dirty, triggering the build.
      
      There is an easy solution: instead of passing this information on the
      command line, pass it in a header. This commit uses configure_file() to
      generate a file oai_version.h in the build directory with the same
      information. Various sources files, e.g., main executables, use this to
      output the same information as before. It is then also not necessary to
      use header guards, as cmake takes care to create this file.
      
      If cmake is re-run, it will update the header, and trigger only files
      including this header will be rebuilt (which can be shown with the above
      stpes). The information passed is the same as before, and updates the
      information when the old method would have updated it.
      8bffd166
    • Robert Schmidt's avatar
    • Bartosz Podrygajlo's avatar
      Introduce benchmark test for rotate_cpx_vector · 08839048
      Bartosz Podrygajlo authored
      This commit introduces google benchmark library and one benchmark for
      rotate_cpx_vector.  Also extracted common tools used in testcases for
      generation and allocation of byte aligned vectors in phy_test_tools.hpp
      08839048
  11. 15 Aug, 2024 1 commit
  12. 02 Aug, 2024 2 commits
  13. 01 Aug, 2024 3 commits
    • Robert Schmidt's avatar
      Remove legacy 4G kernel modules · 6b21dea1
      Robert Schmidt authored
      I don't know about any user of the kernel modules. It is effectively
      legacy code we carry around, for no good reason. Remove it for the
      moment. If we ever need it, we can revert.
      6b21dea1
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Remove netlink/PDCP_USE_NETLINK: it's not used · cf950dfa
      Robert Schmidt authored
      Remove netlink code, and the PDCP_USE_NETLINK macro, as there is no
      known use, it makes the code more complicated, and is simply "technical
      debt".
      
      In 4G PDCP, a subtle change has been introduced, in pdcp_module_init()
      of pdcp.c. Looking at the diff of this commit, it can be seen that there
      is now a new "else-if (ENB_NAS_USE_TUN_W_MBMS_BIT)" branch that is under
      what was the "if (PDCP_USE_NETLINK)" branch, while the code fragment was
      actually inside the "else" branch of PDCP_USE_NETLINK. This seems to be
      necessary: previously, if we did not use noS1 mode and we don't use any
      TUN (i.e., the eNB), the else block would set up this interface. It is
      important that this interface is brought up, because if we omit it,
      RFsim will not work. It seems to me that this interface will regularly
      create some traffic; without it, RFsim will be blocked, and the UE
      cannot connect.
      
      In short, it seems to be important to have the MBMS interface, which
      injects traffic in the RFsim side, which will unblock RFsim. The change
      in pdcp_module_init() preserves the total changes of the if-else
      (PDCP_USE_NETLINK).
      cf950dfa
  14. 30 Jul, 2024 3 commits
  15. 26 Jul, 2024 1 commit
    • Laurent THOMAS's avatar
      Add generic usage-based gold cache · 59086151
      Laurent THOMAS authored
      Add gold sequence cache with dynamic size, private to each thread. It
      periodically reorders by call rate. To free the gold sequences after end
      of life time of a thread, use the pthread API.
      59086151
  16. 13 Jul, 2024 1 commit
  17. 26 Jun, 2024 2 commits
  18. 25 Jun, 2024 2 commits
    • Robert Schmidt's avatar
      Bump required cmake version to v3.16 · 53ff69ed
      Robert Schmidt authored
      Debian 11: cmake 3.18
      Fedora 40: cmake 3.29
      RHEL 9: installs cmake3, which is typically very recent, likely 3.29
      Ubuntu 20: cmake 3.16
      53ff69ed
    • Robert Schmidt's avatar
      Remove Ubuntu 18.04 from supported distributions · 473e7207
      Robert Schmidt authored
      Ubuntu 18.04 is now in "Extended Security Maintenance", but otherwise
      gets no updates. Remove it from supported distributions (regarding
      installing packages); users can of course still use it.
      
      Users are encouraged to upgrade to Ubuntu 20+.
      473e7207
  19. 24 Jun, 2024 4 commits
  20. 21 Jun, 2024 1 commit
    • Raghavendra Dinavahi's avatar
      SL PSBCH: MAC->PHY cfg, PSBCH scheduler + supporting functions + enable system testing & scope · 798ceeee
      Raghavendra Dinavahi authored
      	- Phy config update and Sidelink frame parameters initialisation
      	- PSBCH scheduler to trigger TX PSBCH/RX PSBCH actions
      	- Sidelink indication with rx ind to trigger send SL-MIB to MAC
      	- Enable Scope for PSBCH use -d or --dqt
      	- Enable system testing of PSBCH for example using RFSIMULATOR:
      
      		- UE1 is a SYNCRONISATION SOURCE UE which transmits PSBCH
      
      		  started using command -
      		  sudo ./nr-uesoftmodem --sl-mode 2 --sync-ref 4 --rfsim --rfsimulator.serveraddr server
      
      		- UE2 syncs onto UE1 during sidelink search, gets the timing and continues to receive PSBCH
      
      		  started using command -
      		  sudo ./nr-uesoftmodem --sl-mode 2 --rfsim --rfsimulator.serveraddr 127.0.0.1
      
      		- In the default use case 2 Sidelink SSBs sent over 16 frames.
      
      		- In case SL-SSB configuration needs to be changed use -O option in the above command like
      
      		-O ../../../targets/PROJECTS/NR-SIDELINK/CONF/sidelink_preconfig_1txpool.conf
      798ceeee
  21. 13 Jun, 2024 3 commits
  22. 06 Jun, 2024 1 commit
  23. 03 Jun, 2024 1 commit
    • Robert Schmidt's avatar
      threadCreate(): check for and handle missing SYS_NICE · 66bf27bc
      Robert Schmidt authored
      SYS_NICE is a capability that allows a process to set thread affinity
      and priority, among other things (see capabilities(7) for more info).
      
      In this commit, add a function that allows to determine if the process
      has this capability, and try to change the thread affinity and priority,
      if requested. If the capability does not exist, the function will simply
      not attempt to change the corresponding thread attributes.
      
      To determine if the process has SYS_NICE, libcap can be used. However,
      it might not be installed by default. To avoid requiring another
      dependency, if we detect that libcap is not present, use a workaround by
      try to set a real-time scheduling policy; if it's present, or can be
      changed, we assume that the process has SYS_NICE (and clean up, if
      relevant).
      
      Simplify reading of capabilities
      66bf27bc
  24. 24 May, 2024 1 commit
    • Robert Schmidt's avatar
      MAC: use seq_arr to group LC configuration · 7accbd97
      Robert Schmidt authored
      Use a common structure nr_lc_config_t to group LC configuration for one
      logical channel. Use seq_arr for simple lookup, adding, removing of
      elements without manual indexing logic.
      
      This commit retains the previous logic of adding/releasing LCs through
      the process_CellGroupConfig(), although we know while building the
      CellGroupConfig if we add/release LCs. The next commit fixes this.
      7accbd97
  25. 24 Apr, 2024 1 commit
  26. 17 Apr, 2024 1 commit
    • Robert Schmidt's avatar
      Compile using -rdynamic with clang · 8e7ecaa7
      Robert Schmidt authored
      -rdynamic is necessary for clang as well to properly link shared
      executables. Add furthermore an option to ignore unused command line
      arguments, to suppress warning
      
        clang: warning: argument unused during compilation: '-rdynamic' [-Wunused-command-line-argument]
      
      This is likely because -rdynamic is only relevant for the linker, but
      the corresponding option add_link_options() is only available starting
      cmake 3.13, while we are still at 3.12 (for Ubuntu 18, to my
      understanding).
      8e7ecaa7