NR UE REST API
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:
- build nr-uesoftmodem with
-DENABLE_RESTAPI=ON
- start ue-softmodem with chanmod enabled and
--rest-api
command line parameter - 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}]
- 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/
- 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