1. 03 Jun, 2024 12 commits
  2. 01 Jun, 2024 28 commits
    • Robert Schmidt's avatar
      configs · 10367133
      Robert Schmidt authored
      10367133
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Increase max nFAPI packed message size to 32768 · 544e4b91
      Robert Schmidt authored
      Testing showed that some messages could be at least slightly bigger than
      the previous maximum size of 8192. Given that the maximum transport
      block could be larger, increase this value to 32768.
      544e4b91
    • Robert Schmidt's avatar
      unpack_dl_tti_ssb_pdu_rel15_value(): match pack function · 0ac0b547
      Robert Schmidt authored
      unpack_dl_tti_ssb_pdu_rel15_value() reads two additional bytes,
      seemingly for RX power information. However, table 3-79 does not
      contain such info, so I remove to match the corresponding pack function
      pack_dl_tti_ssb_pdu_rel15_value().
      0ac0b547
    • Robert Schmidt's avatar
      Remove useless global variable · 1b9abcb7
      Robert Schmidt authored
      Remove dummy_subframe variable, which is initialized once in
      start_request() and then copied to memory on the heap. It is not needed.
      
      In nr_start_request(), it should not be necessary, but we keep it for
      the moment to not make more changes than necessary.
      
      This avoids a segfault for me, but I am not exactly sure why.
      1b9abcb7
    • hsum's avatar
      Revert "nr_slot_select(): ignore frame%2 -> nFAPI wrong slot pattern?" · a8f22757
      hsum authored
      This reverts commit 71e2546c.
      a8f22757
    • hsum's avatar
      Ensure Proper Timing for VNF and PNF Slot Allocation · be0b1cae
      hsum authored
      Description:
      In scenarios where VNFs and PNFs are deployed on different machines within a network, it's crucial to maintain synchronization and ensure smooth operation. This commit addresses the need to keep the VNF slot ahead of 2 (as required for network deployment), while ensuring that PNFs wait appropriately to avoid overtaking the slot. Specifically, this involves measuring slot duration and implementing a wait mechanism to ensure that PNFs do not exceed a slot duration of 300 microseconds. This ensures proper coordination and timing between VNFs and PNFs, contributing to the overall stability and performance of the network deployment.
      be0b1cae
    • hsum's avatar
      Revert "Slow down RFsim a bit for FAPI" · 1373b0db
      hsum authored
      This reverts commit f79d48e6.
      1373b0db
    • hsum's avatar
      Refactor is_nr_p7_request_in_window function for clarity and efficiency · ae6d3e0f
      hsum authored
      The function now utilizes simpler variable names and logic to determine if a given NR P7 request falls within the timing window.
      
      The logic for determining if a request is within the timing window is as follows:
      - The function calculates the absolute difference between the current and received SFN slots, taking into account the possibility of wraparound.
      - If the absolute difference is greater than half of the maximum SFN slot value, it subtracts this difference from the maximum SFN slot value to get the actual difference.
      - The function then checks if this difference is less than or equal to the specified timing window. If it is, the request is considered to be within the window.
      
      Additionally, the commit updates the function signature to return a boolean value for better readability and consistency.
      
      Changes made:
      - Simplified variable names for readability
      - Improved logic for handling wraparound scenarios
      - Updated function signature to return a boolean value
      ae6d3e0f
    • hsum's avatar
      Refactor DL TTI request handling and improve code clarity · f69667f5
      hsum authored
      This commit refactors the DL TTI request handling in the PNF P7 module and enhances code clarity.
      
      Changes made:
      - Updated the definition of `dl_tti_req` in the `nfapi_pnf_interface.h` header file to directly store the `nfapi_nr_dl_tti_request_t` structure instead of a pointer.
      - Refactored DL TTI request processing in the `pnf_handle_dl_tti_request` function in `pnf_p7.c` to simplify the code structure and improve readability.
      - Introduced a static function, `cp_nr_dl_tti_req`, to copy DL TTI request structures, improving code modularity and reducing duplication.
      - Updated DL TTI request handling to utilize the refactored logic.
      - Removed unnecessary deallocation of DL TTI request in error handling path to prevent double deallocation.
      f69667f5
    • hsum's avatar
      Refactor UL TTI request handling and add clarity to function logic · e4cad66e
      hsum authored
      This commit refactors the UL TTI request handling in the PNF P7 module and improves the clarity of function logic.
      
      Changes made:
      - Refactored UL TTI request handling to simplify code structure and improve readability.
      - Introduced a static function, `cp_nr_ul_tti_req`, to copy UL TTI request structures, improving code modularity and reducing duplication.
      - Updated UL TTI request processing to utilize the refactored logic.
      - Removed unnecessary deallocation of UL TTI request in error handling path to prevent double deallocation.
      
      Additionally, the commit enhances comments and debug traces for better understanding of the code flow and debugging.
      e4cad66e
    • chenyi's avatar
      do not allocate ul_dci on heap, introduces huge delay · 8abfd7b7
      chenyi authored
      - Process ul_dci whenever the number of ul_dci PDUs in the buffer > 0.
      - Replace dynamic allocation on the heap with stack allocation.
      - New function, **`cp_nr_ul_dci_req`**, to copy the **`ul_dci_req`**.
      8abfd7b7
    • Robert Schmidt's avatar
      Comment undefined function · ebe77a20
      Robert Schmidt authored
      ebe77a20
    • Robert Schmidt's avatar
      Demote logs to debug · f4267434
      Robert Schmidt authored
      f4267434
    • chenyi's avatar
      Revise PMI condition · 088b2934
      chenyi authored
      088b2934
    • Robert Schmidt's avatar
      Allow to use multiple PUCCH at once · e3df5d3e
      Robert Schmidt authored
      We are required to store multiple PUCCH (e.g., for multiple UEs).
      However, nr_fill_pucch() automatically freed the previously active PUCCH
      structure. Of course(!) this does not make sense.
      
      However, the problem is that init_nr_transport() allocated only one
      PUCCH structure. Also this does not make sense to me. The problem was
      that slot_ahead was 0, which logically cannot happen in this function
      (because slot_ahead is illogical, we must give the radio some time). The
      reason is that it uses if_inst->sl_ahead, which, prior to this commit,
      was not set.
      
      The init_nr_transport() function is called normally from main() through
      init_eNB_afterRU(). In this case, we initialize if_inst->sl_ahead to
      what is set in main(). In the PNF case, however, we call
      init_nr_transport() from the PNF thread, when receiving the start
      request. In the main(), we wait for this to happen, before setting
      if_inst->sl_ahead. Hence, initializing this variable (which we should
      safely be able to do) before solves the problem.
      e3df5d3e
    • Robert Schmidt's avatar
      Remove huge memset that is pointless · 2d02a03e
      Robert Schmidt authored
      2d02a03e
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      c4be507b
    • Robert Schmidt's avatar
      2bc54e8a
    • Robert Schmidt's avatar
      remove useless function · 7f9d6e9a
      Robert Schmidt authored
      7f9d6e9a
    • Robert Schmidt's avatar
      How to start · 81530945
      Robert Schmidt authored
      81530945
    • Robert Schmidt's avatar
      Ignore later TX_requests · fdc79cb4
      Robert Schmidt authored
      fdc79cb4
    • Robert Schmidt's avatar
      don't check time window · 664d71cb
      Robert Schmidt authored
      664d71cb
    • Robert Schmidt's avatar
      Reset num_ul_pdcch after scheduling · 9d26323c
      Robert Schmidt authored
      Co-authored-by: default avatarhsum <ming-hong.hsu@eurecom.fr>
      9d26323c
    • Robert Schmidt's avatar
      reduce logs · 097901e9
      Robert Schmidt authored
      097901e9
    • Robert Schmidt's avatar
      debugging code · 0dd4bc7e
      Robert Schmidt authored
      0dd4bc7e
    • Robert Schmidt's avatar
      reformatting · c600c2a8
      Robert Schmidt authored
      c600c2a8