Skip to content

NR UE REST API

Bartosz Podrygajlo requested to merge nr-ue-rest-api into develop

This is a proposal for controlling certain non-standard features in NR UE during its runtime, possibly gNB later.

It adds a REST API that can be used to issue instructions to NR UE:

  • get PHY cpu meas
  • enable/disable PHY cpu meas
  • modify RFsimulator channel parameters

Example usage for controlling rfsimulator channel model:

  1. build nr-uesoftmodem with -DENABLE_RESTAPI=ON
  2. start ue-softmodem with chanmod enabled and --rest-api command line parameter
  3. Get list of channels:
curl http://localhost:11101/rfsimulator/channel/

example output:

[{"name":"rfsimu_channel_enB0","conn_sock":101,"noise_power_dB":-4.0,"path_loss_dB":20,"nb_tx":1,"nb_rx":1}]
  1. Modify channel pathloss (channel name used in http request):
$ curl --header "Content-Type: application/json"   --request POST   --data '{"path_loss_dB":0}' http://localhost:11101/rfsimulator/channel/rfsimu_channel_enB0/
  1. Observe UE RSRP change
[NR_PHY]   [UE 0] RSRP = -42 dBm
[NR_PHY]   [UE 0] RSRP = -42 dBm
[NR_PHY]   [UE 0] RSRP = -42 dBm
[NR_PHY]   [UE 0] RSRP = -42 dBm
[NR_PHY]   [UE 0] RSRP = -42 dBm
[NR_PHY]   [UE 0] RSRP = -42 dBm
[PHY]   [UE 0] frame 1006, nr_slot_rx 0, Error decoding PBCH!
[PHY]   [UE 0] frame 1008, nr_slot_rx 0, Error decoding PBCH!
[NR_PHY]   [UE 0] RSRP = -50 dBm
[PHY]   [UE 0] frame 1010, nr_slot_rx 0, Error decoding PBCH!
[PHY]   [UE 0] frame 1012, nr_slot_rx 0, Error decoding PBCH!
[PHY]   [UE 0] frame 1014, nr_slot_rx 0, Error decoding PBCH!
[PHY]   [UE 0] frame 1016, nr_slot_rx 0, Error decoding PBCH!
[NR_PHY]   [UE 0] RSRP = -49 dBm

this is implemented using Crow (https://github.com/CrowCpp/Crow)

this can be used to introduce channel model changes into test scenarios.

Edited by Bartosz Podrygajlo

Merge request reports

Loading