Repository navigation
cell M6 test benches: placement-independent rig suites (CELL_UE_MEAS_LEVEL) - #568
Conversation
PR Summary by QodoPin UE beacon measurements for placement-independent M6 rig tests
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1. M6 suites pass by construction on tuned levels
|
…E_MEAS_LEVEL) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Review fixes pushed:
Rig on this build: measgap and handover pass (config logged in every run). |
f8abf1b to
57050e4
Compare
|
Qodo's re-review resolves #4. Of the rest:
Adding skip-qodo-gate. |
Part of #254 (M6 regression).
Why. On 2026-11-12, between 11:20 and 16:00, the rig's RF levels changed with no code change in between. UE1 now hears cell 1 at −50 dBm (−63 before) and cell 2 at −51 (−53); UE2's levels moved by 2–5 dB. The cause is not established. The M6 suites that hand over on a standing difference lost their margin (+10 to +13 dB): handover, measgap, three_ho, daps, daps_dl and daps_xch failed, identically on master (A/B on the rig). With those levels the A3 correctly has nothing to fire on.
What.
CELL_UE_MEAS_LEVEL="cell:dBm,..."(MeasLevelPin,examples/cell/cell.h). For each listed cell, the UE takes the median of its first 8 beacon measurements as where the bench put it, and shifts every later measurement by (target − median). The offset is logged (cell.ue.meas_pin); the cell is held out of the measurement table while it calibrates.CELL_ATTEN_*andCELL_DU_TX_RAMP; not library behaviour.cell_node.testrig (committed there):
m5_ran_coord.shtakesM5_MEAS_LEVELS("UE=cell:dBm,...;UE=..."). Each standing-difference M6 suite defaults it to the medians of its passing runs: two cells UE1 −63/−52, UE2 −53/−38; three cells per UE. The ramp-driven crossings are not pinned, andM5_MEAS_LEVELS=""runs on the bench's own levels.Rig, on the changed levels: all 8 M6 suites pass (handover, measgap, three_ho, daps, daps_dl, daps_xch, crossing3, crossing). On this exact build (master with #567, plus this), handover and measgap passed again. The calibrated offsets show the change: UE1's cell 1 is pulled −13 dB, the others by −2 to +6.
🤖 Generated with Claude Code