Commit Graph
31663 Commits
Author SHA1 Message Date
Thomas Schlichter 8e18e5b3aa NR UE: wrap all direct trx_*() function calls in nr_ue_ru_*() functions 2026-01-27 11:30:14 +01:00
Thomas Schlichter 6297c40423 remove unused variables from struct openair0_config 2026-01-27 11:10:54 +01:00
Thomas Schlichter 0b06d55f5f NR UE: introduce support to define multiple cells
This feature shall allow in future to simulate an arbitratry number of UEs connected to an other arbitrary number of cells.
Therefore each RF-frontend (also called RU) needs to be configured for one specific cell.
In case of handover of a UE from one cell to another cell, it needs to switch RUs accordingly (TODO).

There has to be a 1-to-1 mapping between RUs and cells.
Each UE will be assigned to one of the defined cells.
Initially all UEs are assigned to cell 0.
2026-01-27 11:10:53 +01:00
Thomas Schlichter bcccfd90b8 NR UE: don't use downlink_frequency[cc_idP][0] and uplink_frequency_offset[cc_idP][0] in MAC, store mac->dl_frequency instead 2026-01-27 10:24:54 +01:00
Thomas Schlichter dfb217ad0e NR UE: don't use get_softmodem_params()->numerology in MAC, store mac->numerology instead 2026-01-27 10:24:54 +01:00
Thomas Schlichter b495576c83 make sure defint64val is set for TYPE_UINT64 configuration parameters 2026-01-27 10:24:54 +01:00
Thomas Schlichter 168f329491 NR UE: remove unused array of PHY_VARS_NR_UE pointers 2026-01-27 10:24:53 +01:00
Thomas Schlichter 90ad9fac1a NR UE: introduce support to define multiple RUs 2026-01-27 10:23:01 +01:00
Jaroslava Fiedlerova 623dc19d22 Merge remote-tracking branch 'origin/uci_csi_on_pusch' into integration_2026_w05 (!3766)
UE support to send CSI report on PUSCH

Earlier work on UCI on PUSCH implemented only ACK/NACK. This MR extends that
to send CSI report too.

This branch is verified with MATLAB implementation for multiplexing CSI part 1
and part 2 on PUSCH. It is also verified with srsRAN gNB which successfully
decodes CSI part 1 on PUSCH.
2026-01-26 16:21:31 +01:00
Jaroslava Fiedlerova b68b42c6e8 Merge remote-tracking branch 'origin/fix_rsrp_overflow' into integration_2026_w05 (!3823)
Fix RSRP overflow

If UE L1 measure an RSRP = 0 it would report to L2 and RSRP value of -INT_MAX
dBm causing overflow in the qsort to determine the best RSRPs
2026-01-26 11:46:41 +01:00
Thomas Schlichter 256a54ce6c NR UE: move initialization of frame_parms->N_RB_DL and frame_parms->ssb_start_subcarrier to nr_init_frame_parms_ue_sa()
This harmonizes the implementations of nr_init_frame_parms_ue(), nr_init_frame_parms_ue_sa() and nr_init_frame_parms_ue_sl().
2026-01-26 11:41:33 +01:00
Thomas Schlichter eed98b2bf9 NR UE: support nr_get_carrier_frequencies() on constant PHY_VARS_NR_UE 2026-01-26 11:41:33 +01:00
Thomas Schlichter 877b8ed0a0 remove some unused global variables from nr-softmodem.c and nr-uesoftmodem.c 2026-01-26 11:41:33 +01:00
Thomas Schlichter af4ceea12c NR UE: remove global variable rx_gain_off, which has no function
The global variable rx_gain_off was always 0.0, as it was not even modified by the NR UE command line parameter --ue-rxgain-off.
That command line parameter modified only a parameter in the struct nrUE_params_t, which was not used at all and is removed in this commit, too.
Also, the global variable rx_gain_off was just added to rx_total_gain_dB and subtracted from it again in nr_rf_card_config_gain().
So we simplify that function slightly, too.
2026-01-26 11:41:33 +01:00
Thomas Schlichter fef4e7b23e NR UE: move openair0_config_t and openair0_device_t out of PHY_VARS_NR_UE and consistently use UE->rf_map.card 2026-01-26 11:41:33 +01:00
Jaroslava Fiedlerova 7c64fe0f60 Merge remote-tracking branch 'origin/shm-channel-fix' into integration_2026_w05 (!3853)
Clear memory in shm_td_iq_channel after RX

Clear memory in shm_td_iq_channel after RX. This prevents the IQ
from being read twice. This can happen if the application crashes
and will keep the other side reading historical IQ samples.
2026-01-26 10:43:20 +01:00
Jaroslava Fiedlerova 2acc8b6a08 Merge remote-tracking branch 'origin/vrtsim-fix-timing' into integration_2026_w05 (!3850)
Update vrtsim timing job thread

List of changes:
- avoid calculating accumulated rounding error by calculating absolute
  sample index based on CLOCK_REALTIME every time.
- use threadCreate instead of plain pthread_create which assigns a unique
  thread name and simplifies debugging
2026-01-26 10:42:18 +01:00
Sakthivel Velumani f9fb02b1d7 clean-up: minimize code repetition
harmonize ACK and CSI mapping into a single function.
2026-01-26 10:02:30 +01:00
Sakthivel Velumani 36a5dbdfff mac: harmonize function to get csi reports
Use nr_get_csi_measurements() function to get CSI report for PUCCH and
UCI on PUSCH.

Harmonize filling csi report for UCI on PUSCH for periodic and aperiodic
CSI reports.
2026-01-26 10:02:30 +01:00
Sakthivel Velumani cecfec82a8 mac: harmonize csi_payload_t struct
1. Reuse csi_payload_t struct to hold CSI report payload on PUSCH and
PUCCH PDU.
2. Move the struct to fapi header file
2026-01-26 10:02:30 +01:00
Sakthivel Velumani d1febb5fc2 clean-up: reduce nested if in CSI meas function 2026-01-26 10:02:30 +01:00
Sakthivel Velumani 207b061e22 ulsim: enable CSI part 2 in unit test 2026-01-26 10:02:30 +01:00
Sakthivel Velumani 1ba8502bdd phy: map CSI part 2 bits on PUSCH 2026-01-26 10:02:30 +01:00
Sakthivel Velumani b464ff6bd7 ulsim: enable CSI part 1 in unit test
Update matlab script too.
2026-01-26 10:02:30 +01:00
Sakthivel Velumani bea7afcbd3 phy: map CSI part 1 bits on PUSCH 2026-01-26 10:02:30 +01:00
Sakthivel Velumani 004a472c52 fix: return value assigned inside function 2026-01-26 10:02:30 +01:00
Sakthivel Velumani 84aa1f8ff5 clean-up: fix code repetition 2026-01-26 10:02:24 +01:00
Sakthivel Velumani dc70b621a5 clean-up: Add const to input pointers 2026-01-26 09:45:02 +01:00
Thomas Schlichter 75df29a333 consistenty use suffix _t for openair0_* types 2026-01-23 18:30:39 +01:00
Laurent THOMAS 7e0440433a remove used definitions, and group dupilcated extern for cpuf global var 2026-01-23 10:57:44 +01:00
calvin_peyron 8496e88a10 On Fedora libusb-devel is called libusb1-devel 2026-01-23 09:39:38 +01:00
Calvin Peyron 6af6789f65 Fix python-tk has no installation candidate 2026-01-23 09:39:38 +01:00
Guido Casati b621929f9b Refactor (MAC): extract RRC container handling into shared function
Extract the common RRC container handling logic from
ue_context_setup_request() and ue_context_modification_request() into
a new static function handle_ue_context_rrc_container().

This refactoring:
- Eliminates code duplication between the two functions
- Centralizes RRC container forwarding logic
- Improves code maintainability and consistency
2026-01-22 14:56:11 +00:00
Guido Casati 0b8fb49a38 Refactor (MAC): extract CellGroupConfig encoding into shared function
Extract common CellGroupConfig encoding logic from
ue_context_setup_request() and ue_context_modification_request() into
encode_cellgroup_config().

Replace uper_encode_to_buffer() with uper_encode_to_new_buffer() to:
- Remove 1024-byte buffer size limit
- Automatically allocate correct buffer size
- Simplify code (no manual bit-to-byte conversion)
- Align with other protocol encoders
2026-01-22 14:56:11 +00:00
Guido Casati 94bb169ac5 RRC/F1: add documentation/logs for F1 UE context setup functions
- Add function documentation blocks for `rrc_fill_f1_ue_context_setup`,
  `rrc_f1_ue_context_setup_for_target_du`, and `rrc_f1_ue_context_setup_from_e1_response`
  explaining their purpose, parameters, and usage scenarios
- Add inline comments throughout these functions
2026-01-22 14:56:11 +00:00
Guido Casati 0ea07517fb Refactor (RRC/F1): extract common F1 UE context setup code
Improve maintainability by centralizing common F1AP UE context setup
logic into reusable helper functions, enabling consistent handling
and clear serving/target DU entry points for different scenarios.

Code duplication prevention is a beneficial side effect, since at
least one helper function is adopted in subsequent commits.

Major changes:

- Move DRB list filler from external file into rrc_gNB.c and rename
  fill_drb_to_be_setup to rrc_fill_f1_drb_to_setup for naming
  consistency
- Add static helper rrc_fill_f1_ue_context_setup to populate common
  fields shared between serving DU and target DU scenarios:
- Rename rrc_gNB_generate_UeContextSetupRequest to
  rrc_f1_ue_context_setup_from_e1_response to clarify it prepares
  F1AP context setup from E1AP bearer setup response for serving DU
- Add rrc_f1_ue_context_setup_for_target_du (for target DU in
  handover/reestablishment scenarios)
- Adopt helper rrc_fill_f1_ue_context_setup in both functions
2026-01-22 14:56:11 +00:00
Guido Casati 0c879cdf62 MAC: clarify reconfigCellGroup warning for handover scenario
Document that reconfigCellGroup remaining present is expected during
handover (target DU doesn't send RRC Reconfiguration).
2026-01-22 14:56:11 +00:00
Guido Casati 1c6acfbc20 RRC Bugfix: Propagate DU association ID from PDCP to RRC via ITTI message header
When processing UL RRC messages from PDCP, the DU association ID (assoc_id)
was not being propagated to RRC, resulting in assoc_id being 0 in
rrc_gNB_decode_dcch.

Fix by setting originInstance in the ITTI message header to the stored
du_assoc_id from ue_data when PDCP creates the F1AP_UL_RRC_MESSAGE.
2026-01-22 14:56:11 +00:00
Guido Casati b8c44aaf2c OAI UE bugfix: set is_srb flag to false for DRBs 2026-01-22 14:56:11 +00:00
Jaroslava Fiedlerova ed4cca814a Merge branch 'integration_2026_w04' into 'develop'
Integration `2026.w04`

* !3787 CI: disable aerial x86 build pipeline
* !3820 Integrate F1AP messages required for NRPPa
* !3789 fix A3 event configuration
* !3861 add a csv T tracer
* !3669 NR UE: add neighboring cell measurements and measurement report of event A3
* !3866 nr-softmodem: ensure RU is ready before L1 init in NFAPI PNF mode
* !3402 Test FDM PRACH in CI
* !3852 Cleanup nr_slot_fep_ul
* !3782 Improvements to support CSET0 multiplexing pattern 3 for FR2
* !3862 Check for PDSCH overlapping CORESET during RA
* !3430 NR gNB handling TCI state indication for beam switching
* !3872 Fix compilation issues with vrtsim taps client
* !3687 Standardize Documentation Formatting and Navigation for MkDocs

Closes #705

See merge request oai/openairinterface5g!3867
2026-01-22 14:27:15 +00:00
Jaroslava Fiedlerova e84b0714d3 Merge remote-tracking branch 'origin/fix-docs' into integration_2026_w04 (!3687)
Standardize Documentation Formatting and Navigation for MkDocs

This merge request improves and organizes the documentation to align with MkDocs
requirements. The following guidelines have been applied:

Guidelines Followed

Fix Broken Links and Paths
- Updated all links with proper paths to ensure correct rendering in MkDocs.

Correct Headings
- Removed multiple H1 headings (#).
- Subheadings use H2–H6 (## to ######) for consistent structure.

Proper URL Formatting
- All URLs now follow standard Markdown syntax,
  e.g., [Example](https://www.example.com).

Proper Syntax
- Tables, lists, and code blocks use standard Markdown formatting to ensure
  correct rendering.

Remove HTML Formatting
- Removed unnecessary inline HTML styling from documents, retaining only the
  content.

Notes and Warnings
- Converted notes and warnings into blockquote syntax (>).

This ensures the documentation is properly structured, consistent, and
MkDocs-friendly.
2026-01-22 11:48:14 +01:00
Shubhika Garg a1da4b716c docs: Add Documentation Best Practices guide for contributors
- Add it as a reference in README.md
2026-01-22 10:55:29 +01:00
Shubhika Garg 4d5f9d3cb3 docs(episys): Convert README text files to markdown files
- Include functions/file_names in backticks for readability
     - Include the images directly inside the document (rather than plain image file name)
     - Give relevant spacing if required
2026-01-22 10:55:05 +01:00
Shubhika Garg 87410b1d25 docs: updated HTML <img> tags in the doc/ to use standard Markdown image syntax 2026-01-22 10:55:05 +01:00
Shubhika Garg a025ce30ff doc: fix internal anchor links for section references in system_requirements.md
-  Updated links to use proper Markdown anchor format for section references(e.g. `#simulated-radio`)
2026-01-22 10:55:05 +01:00
Shubhika Garg 17c6d0feb2 docs: replace HTML header with Markdown heading
- Removed HTML table and font tags for the OAI titles and replaced them with a clean Markdown H1 heading
      - Added missing # H1 headings in some files
2026-01-22 10:55:05 +01:00
Robert Schmidt 5c480ffd50 docs: Standardize documentation headings (remove multiple # H1)
- Remove multiple single top-level (# H1) headings per file
 - Use (# H2 and ###### H6) sub-headings for consistency
 - Remove any trailing # in the headings
 - This ensures proper table of contents rendering in MkDocs.

 - Also removed RUN_NR_multiple_BWPs.md as it is moved to MAC usage
2026-01-22 10:55:05 +01:00
Shubhika Garg a9ba6290b9 docs(architecture): Remove HTML Formatting: retain only the contents and not styling 2026-01-22 10:55:05 +01:00
Shubhika Garg ed2acc135c docs(architecture): use inline code formatting with backticks
- To improve readability
2026-01-22 10:54:43 +01:00
Shubhika Garg 34d3b5d386 doc(episys): format test-setup and current status blocks for clarity and consistency
- bold current status for clarity and add spacing for better readability
     - Wrap processes in the test setup block inside code blocks as they were rendered as GitLab issues
     - Remove extra spacing in the test setup block
2026-01-22 10:50:50 +01:00