+/** Common Data for ecpri one-way delay measurements */
+struct xran_ecpri_del_meas_cmn {
+ uint16_t initiator_en; // Initiator 1, Recipient 0
+ uint16_t numberOfSamples; // Total number of samples to be collected and averaged
+ uint32_t filterType; // Average for number of samples collected 0
+ uint64_t responseTo; // Response Timeout in ns
+ uint16_t measVf; // Vf using the owd transmitter
+ uint16_t measState; // The state of the owd Transmitter: OWDMTX_DIS,OWDMTX_INIT,OWDMTX_IDLE,OWDMTX_ACTIVE,OWDTX_DONE
+ uint16_t measId; // Measurement Id to be used by the transmitter
+ uint16_t measMethod; // Measurement Method i.e. REQUEST, REM_REQ, REQ_WFUP or REM_REQ_WFUP
+ uint16_t owdm_enable; // 1: Enabled 0:Disabled
+ uint16_t owdm_PlLength; // Payload Length 44 <= PlLength <= 1400
+};
+
+/** Port specific data for ecpri one-way delay measurements */
+struct xran_ecpri_del_meas_port {
+ uint64_t t1; // ecpri ts1
+ uint64_t t2; // ecpri ts2
+ uint64_t tr; // ecpri tr
+ int64_t delta; // stores differences based on the msState
+ uint8_t portid; // portid for this owdm
+ uint8_t runMeas; // run One Way Delay measurements for numberOfSamples
+ uint16_t currentMeasID; // Last Measurement ID received, for originator use as base for the Measurement ID being send out
+ uint16_t msState; // Measurement State for Initiator: Idle, Waiting_Response, Waiting_Request, Waiting_Request_with_fup, Waiting_fup, Done
+ // Measurement State for Recipient: Idle, Waiting_Response, Waiting_Follow_up, Done
+ uint16_t numMeas; // Number of Measurements completed (Running number up to common config numberOfSamples
+ uint16_t txDone; // For originator clear after each change of state and set once the transmission is done
+ uint64_t rspTimerIdx; // Timer Index for TimeOut Timer. On timeout abort current measurement and go back to idle state
+ uint64_t delaySamples[MX_NUM_SAMPLES]; // Storage for collected delay samples i.e. td
+ uint64_t delayAvg; // Contains the average based on the numberOfSamples for the delay, gets computed once we have
+ // completed the collection for all the numberOfSamples prescribed
+};
+