Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangwenhui
OpenXG-RAN
Commits
51b23b40
Commit
51b23b40
authored
8 years ago
by
laurent
Browse files
Options
Browse Files
Download
Plain Diff
merge latest develop, enhance real time, set back BCH tracing in UE as in develop branch
parents
094ac2f3
e2ae88de
develop
1
128-ues
256_QAM_demod
2cw_fairRRscd
340-fix-beamforming-for-multiple-antenna
375-syrtem-sdr-platform
383-ulsch-scheduler-optimization
387-fraunhofer-iis-transmission-mode-4
401-bug-related-to-nr-pucch-format-2-generator
408-reworked
408-ue-main-threads
445-LDPC-implementation-on-GPU
459-pusch-based-ta-updates
464-ru_beamforming_in_gpu
464-ru_beamforming_in_gpu-CPUsubfunction
472-add-pusch-dmrs-modes
481-ldpc-decoder-on-gpu
5g_fapi_scf
LTE-sidelink
LTE_TRX_on_single_port
NCTU_CS_ISIP
NCTU_CS_ISIP_CPU
NCTU_CS_ISIP_GPU
NCTU_OpinConnect_LDPC
NR-PHY-MAC-IF-multi-UE
NR_10MHz
NR_CSI_reporting
NR_DCI_01
NR_DLUL_PF
NR_DLUL_PF_rebased
NR_DL_sched_fixes
NR_DL_scheduler
NR_FAPI_beamindex_SSB_RO
NR_FR2_RA
NR_FR2_RRC_SSB
NR_MAC_CE_GlobalEdge
NR_MAC_Multi_Rach_GlobalEdge
NR_MAC_SSB_RO_GlobalEdge
NR_MAC_SSB_RO_UE_IDCC
NR_MAC_SSB_RO_merge
NR_MAC_TCI_UCI_GlobalEdge
NR_NGAP
NR_PDCP_noS1
NR_PUCCH_MultiUE
NR_RA_updates
NR_RRCConfiguragion_FR2
NR_RRCConfiguration
NR_RRCConfiguration_FR2
NR_RRCConfiguration_S1U
NR_RRCConfiguration_merge_develop
NR_RRCConfiguration_sync_source
NR_RRCConfiguration_trx_thread
NR_RRC_CP_bugfix
NR_RRC_PDCP
NR_RRC_PRACH_procedures
NR_RRC_PRACH_procedures_todevelop
NR_RRC_PUSCH
NR_RRC_TA
NR_RRC_X2AP_AMBR_Change_Global_edge
NR_RRC_X2AP_RemoveHardcodings_GlobalEdge
NR_RRC_config_simplified
NR_RRC_harq
NR_RRC_harq_b
NR_RRC_harq_hacks
NR_RRC_harq_newdcipdu
NR_SA_F1AP_dev
NR_SA_NGAP_RRC
NR_SA_NGAP_RRC_wk42
NR_SA_itti_sim_wk48
NR_SA_itti_sim_wk48_hs
NR_SA_itti_sim_wk48_hs1
NR_SCHED
NR_SCHED_HARQ
NR_SCHED_PDCCH_PUCCH_HARQ
NR_SCHED_PDCCH_PUCCH_HARQ_rebased
NR_SCHED_fixes
NR_SRB_Config
NR_TRX_on_single_port
NR_TRX_on_single_port2
NR_UE_MAC_scheduler
NR_UE_RA_fixes
NR_UE_UL_DCI_improvements
NR_UE_dlsch_bugfix
NR_UE_enable_parallelization
NR_UE_stability_fixes
NR_UL_FAPI_programming
NR_UL_scheduler
NR_UL_scheduler_rebased
NR_UL_scheduling
NR_beam_simulation
NR_beamforming_test
NR_gNB_SCF_Indication
NR_ipaccess_testing
NR_mac_uci_functions_rework
NR_msg2_phytest
NR_scheduling_CSIRS
NR_scheduling_request
NR_scheduling_request2
NR_test_S1U_RRC_PRACH_procedures
NR_ue_dlsch_dmrs_cdm
New-Merge-sidelink-develop
OpInConnect_ISIP
PUSCH_TA_update
PerfumeOldTdd
RA_CI_test
UE_DL_DCI_hotfix
UpdateRANRemoteUEReport
add_iris_hw
addoptions_nr_USRPdevice
bch-fixes-bitmap
benetel_5g_prach_fix
benetel_driver_update
benetel_phase_rotation
benetel_phase_rotation_old
block_mmse_receiver_with_whitenning
bugfix-find-uci
bugfix-minor-remove-wrong-log
bugfix-nr-bands
bugfix-nr-ldpc-post-processing
bugfix-nr-ldpc-size-typo
bugfix-nr-pdcp-sn-size
bugfix-nr-rate-matching-assertion
cce_indexing_fix
cce_indexing_fix2
ci-deploy-asterix
ci-deploy-docker-compose
ci-rd-july-improvements
ci-test
ci-ul-iperf-from-trf-container
ci-yacine
clean-5G-scope-round2
cleanup_softmodem_main
constant_power
container_fix
container_v1.2.2
debug_branch_init_sync
develop-FeMBMS
develop-SnT
develop-aarch64build
develop-ci
develop-ci-fju
develop-large-scale-emulations
develop-m2ap
develop-multi-RRUs
develop-nb-iot
develop-nb-iot-RRC
develop-nb-iot-merge
develop-nb-iot-merge-w-conflicts
develop-nb-iot-ntust
develop-nr
develop-nr-adding-2018-09-asn1
develop-nr-fr2
develop-nr-fr2-rework
develop-nr_cppcheck
develop-oriecpriupdates
develop-sib1
develop-sib1-local
develop-sib1-lts
develop-sidekiq
develop-vco3
develop_ci
develop_inria_ci_deployment
develop_inria_ci_deployment_gp
develop_inria_ci_deployment_gp_b4merge
develop_integration_2019_w44
develop_integration_2020_w15
develop_integration_2020_w19
develop_integration_w08
develop_jenkins_replay
develop_stable
dfts_alternatives
dlsch-all-dlslots
dlsch_encode_mthread
dlsch_parallel
dlsim-autotests
documentation
docupdate_tools
dongzhanyi-zte-0001
dongzhanyi-zte-develop
dongzhanyi-zte-develop2
dreibh/apt-auth-fix
dreibh/device-load-fix
dreibh/device-load-fix-develop-branch
dreibh/doxygen-fix
dual-connectivity
dummy
edrx
extend_sharedlibusage
extend_sharedlibusage2
fapi_for_dmrs_and_ptrs
feat-mac-sock
feature-230-tm3_scheduler
feature-247-tm89
feature-247-tm89-fixes
feature-247-tm89-rebased
feature-278-physical-layer-GPU-version
feature-309-phy_procedures_eNB_TX_split_to_multi_threading
feature-368-channel-simulator
feature-4g-sched
feature-68-enb-agent
feature-flexran-cm-s1ap
feature-nr-4g-nfapi-modifications
feature-pdcp-task
feature-send-rrc-message-for-wireshark-logging
feature-support-clang-format
feature/make-s1-mme-port-configurable
feature/make-s1-mme-port-configurable-with-astyle-fixes
feature_tm3
fembms-enb-ue
finalize-oaicn-integration
firas
fix-ci-tun
fix-clock-source
fix-dirty-ue-same-machine
fix-itti
fix-itti-segv
fix-l2-sim
fix-limeSDR-compile
fix-segfault-flexran-isolated
fix-softmodem-restart
fix-warnings
fix_NR_DLUL_PF
fix_do_ra_data
fix_pdsch_low_prb
fix_rfsim_mimo
fix_rrc_x2_ticking
fixes-CE-RLC-PDU-size
fixes-mac-sched-nfapi
fixes-mac-sched-tun
fixes-tun
flexran-apps
flexran-improvements
flexran-repair-mme-mgmt
flexran-report-split
fr2-hw-test
fujitsu_lte_contribution
fujitsu_lte_contribution-128
gNB-nrUE-USRP
gNB_mwc18_integration
generate_push_ptrs
gnb-only-test
harq-hotfix
hotfix-minor-remove-nr-rlc-cppcheck-error
hotfix-nr-rlc-tick
hotfix-ocp-executable
hotfix-ue-musim-compilation
hotfix_usrp_lib
improve_build_nr_lte_merge
improve_nr_modulation
improve_ue_stability
initial-nfapi-PNF-fixes
integration-develop-nr-2019w45
integration_2020_wk40
integration_2020_wk41
integration_2020_wk42_2
integration_2020_wk45
integration_2020_wk45_2
integration_2020_wk46
integration_2020_wk46_2
integration_2020_wk47
integration_2020_wk48
integration_2020_wk48_2
integration_2020_wk49
integration_2020_wk50
integration_2020_wk50_1
integration_2020_wk51
integration_2020_wk51_2
integration_2021_wk02
integration_2021_wk02_wMR988
inter-RRU
inter-RRU-final
inter-RRU-nr
inter-RRU-oairu
inter-rru-UE
interoperability-test
isip-turbo-decoder-dynamic
isip-turbo-decoder-parallel
isip_nr
issue271_simulator
issue392-simplify-s1-nos1step2_01
issue416_nfapicleanup
issue_345_l2_fapi_simulator
itti-enhancement
l2-fixes
large_scale_simulations
ldpc-dec-layering
ldpc-decoder-codegen
ldpc-decoder-codegen2
ldpc-decoder-improvements
ldpc-offload
ldpc_short_codeword_fixes
load_gnb
lte-m-ue_type
lte_uplink_improvement
mac-fixes-wk45_2
mac-monitoring
main_python
master
mbms-fix-develop-nr
merging-2019-w51-to-develop-nr
mex_mmse_receiver
minor-fix-doc-basic-sim
mobipass-hack
modify_fairRRscd_parallel
mosaic5g-oai-ran
mosaic5g-oai-sim
mu_allocate
multi-L1
multi-RRUs
nasmesh_kernel_5.8
new_nos1
new_pdcp
new_rlc
new_rlc_2020
new_rlc_in_mbms
nfapi-L2-emulator
nfapi-bugfix
nfapi_improvement
nfapi_nr_develop
ngap-dlul
ngap-support
ngap-w48-merge2
ngap-wf
ngap-wf-1120
ngap-wf-1120-srb
ngap-wf-1120-srb-gtp
ngap-wf-1120-srb-gtp-hs
ngap-wf-1120-srb-gtp-hs1
ngap-wf-1120-srb-gtp-hs2
ngap-wf-1120-srb-gtp-yhz
ngap-wf-1203-yunsdr
ngap-wf-liuyu
ngap_lfq_1120
ngap_merge
noCore
nr-coreset-bug-fix
nr-dlsch-multi-thread
nr-dlsch-thread
nr-dual-connectivity
nr-interdigital-test
nr-ip-uplink-noS1
nr-mac-pdu-wireshark
nr-mac-remove-ue-list
nr-multiple-ssb
nr-pdcp
nr-pdsch-extraction-bugfix
nr-physim-update
nr-rlc-am-bugfix-w44
nr-rlc-bugfix-w44
nr-ssb-measurements
nr-timing-measurement
nr-timing-measurement-merge
nr-ue-buffer-status
nr-ue-slot-based
nr-uldci
nrUE
nrUE-hs
nrUE-upper-layer
nr_beamforming
nr_bsr
nr_ci_dlsim
nr_csi_newbranch
nr_dci_procedures
nr_demo_wsa2019
nr_dl_dmrs_type2
nr_dl_pf
nr_dl_pf2
nr_dl_ul_ptrs
nr_dlsch_parallel_measurements
nr_dlsim_plot
nr_fapi_for_push_tmp
nr_fdd_if_fix
nr_fix_easycppcheck
nr_flexible_NRBDL
nr_improve_build_procedures
nr_increase_tp
nr_mib_vsa_test
nr_pdcch_testing
nr_pdcch_updates
nr_pdsch_integration
nr_polar_decoder_improvement
nr_prach
nr_prach_fr2
nr_pucch
nr_pucch2
nr_segmentation_fixes
nr_sim_fix
nr_tdd_configuration
nr_ue_msg3
nr_ue_tti_cleanup
nr_ul_pf
nr_ul_scfdma
nr_vcd
nrue-multi-thread
nrue_msg2_reception
nsa-ue
nsa_remove_band_hardcodings
oai-sim
oai-ubuntu-docker
oai-ubuntu-docker-for-lmssdr
oai_ue_mwc18_integration
oairu
oc-docker-october-improvements
ocp_simulator
openxg/develop
pdcp-benchmark
pdsch-ch-est
polar8
preprocessor_refactor-2
ptrs_rrc_config
pucchsim-multiue
pusch-mthread-scaling-fix
pusch-retrans-fix-ue
ra-dl-ul
rau_rru_reciprocity_measurements
recode_itti_from_scratch
reduce_memory_footprint
release_v1_2_0_candidate
remove-ci-workaround
remove_nos1_hack_pdcp
remove_x2_gnb_hardcoding
repair-TA
revert-f5c94279
revert-itti
revert_memcpy
rh-ci-add-ue-parallelization
rh_ci_fix_autoterminate
rh_ci_fr1_update
rh_ci_oc
rh_ci_py
rh_ci_rfsim_ra
rh_doc_update_3
rh_fr1_newjenkins
rh_fr1_update
rh_gnb_compile_fix
rh_wk50_debug
rhel77-build
rlc-v2-bugfix-status-reporting
rlc-v2-tick
rlc_v2_coverity_fixes
rrc-enb-phy-testmode
rru-txwrite-modification
ru-parallel-beamforming
ru_rau_enhancement
ru_rau_enhancement-external-timing
runel
runel-reverse-test
s1-subnormal_rewrite
s1_subnormal
s1_subnormal-robert
s1ap-bugfix-rab_setup
sa-demo
sa-merge-rrc-srb
sa-msg4
sa-msg4-rrc
sa-msg4-rrc-yihz
sa-msg4-rrc-yihz-hs
sa_rrc_yihz
schedule-si-fix
signal-delay
small-bugfixes-w40
small-config-change
smallcleanup
softmodem_cleanup
split73
tcri
test-x310-perf
testing_2symb_pdcch
testing_with_external_txdata
thread-pool
tools_5Gadapt
tp-ota-test
trx_thread_param
trx_write_thread
ue-csi
ue-fixes-ota
ue-updates-runel-test
ue_adjust_gain
ue_beam_selection
ue_dlsch-multi-threading
ue_dlsch_decoding_ldpc_offload
ue_nfapi_mch
ues_test_tmp
uhd_priority_set_cleanup
ul-freq-iq-samps-to-file
ul_dl_dci_same_slot
ul_harq
ulsch_decode_mthread
ulsim_changes
update-to-2019-march-june-release
usrp_fix_adc_shift_and_pps_sync
usrp_gpio_test
wireshark-log-scheduling-requests
workaround-rebased
workaround-restart-not-working
x2-endc-processing
x2-ho
x2-ka-test
x2_neighbor_6cells
x2_tdd
xiangwab
xiangwan
yihongzheng_srb
zzs
2021.w02
2020.w51_2
2020.w51
2020.w50
2020.w49
2020.w48_2
2020.w48
2020.w47
2020.w46_2
2020.w46
2020.w45_2
2020.w45
2020.w44
2020.w42_2
2020.w42
2020.w41
2020.w39
2020.w38
2020.w37
2020.w36
2020.w34
2020.w33
2020.w31
2020.w30
2020.w29
2020.w28
2020.w26
2020.w25
2020.w24
2020.w23
2020.w22
2020.w19
2020.w17
2020.w16
2020.w15
2020.w11
2020.w09
2020.w06
2020.w05
2020.w04
2020.w03
2019.w51
2019.w44
2019.w41
2019.w36
2019.w30
2019.w28
2019.w27
2019.w25
2019.w23
2019.w21
2019.w17
2019.w15
2019.w13
2019.w11
2019.w10
2019.w09
2019.w08
2019.w07
2019.w06
2019.w04
2019.w03
2018.w51
2018.w48
2018.w47
2018.w46
2018.w44
2018.w41
2018.w40
2018.w39
2018.w36
2018.w33
2018.w31
2018.w29
2018.w25
2018.w19
2018.w15
2018.w12
2018.w11
2018.w10
2018.w09
2018.w08
2018.w07
2018.w06
2018.w05
2018.w04
2018.w03
2018.w02
2017.w48
2017.w46
2017.w43
2017.w42
2017.w34
2017.w30
2017.w25
2017.w24
2017.w22
2017.w20
2017.w19
2017.w15
2017.w14
2017.w13
2017.w12
2017.w11
2017.w10
2017.w09
2017.w08
2017.w07
v1.2.2
v1.2.1
v1.2.0
v1.1.1
v1.1.0
v1.0.3
v1.0.2
v1.0.1
v1.0.0
v0.6.1
v0.6.1_tdd
v0.6
osa-etsi-ws-ue
osa-etsi-ws-try2
osa-etsi-ws-try1
osa-etsi-ws-gNB
oai_nr_sync
nr-ip-over-lte
nr-ip-over-lte-v.1.5
nr-ip-over-lte-v.1.4
nr-ip-over-lte-v.1.3
nr-ip-over-lte-v.1.2
nr-ip-over-lte-v.1.1
nr-ip-over-lte-v.1.0
develop-nr-pdcch
develop-nr-2020w03
develop-nr-2020w02
develop-nr-2019w51
develop-nr-2019w50
develop-nr-2019w48
develop-nr-2019w47
develop-nr-2019w45
develop-nr-2019w43
develop-nr-2019w42
develop-nr-2019w40
develop-nr-2019w28
develop-nr-2019w23
benetel_phase_rotation
No related merge requests found
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
285 additions
and
214 deletions
+285
-214
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+7
-8
cmake_targets/build_oai
cmake_targets/build_oai
+5
-0
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+132
-88
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+4
-0
openair1/PHY/LTE_TRANSPORT/proto.h
openair1/PHY/LTE_TRANSPORT/proto.h
+2
-1
openair1/PHY/LTE_TRANSPORT/sss.c
openair1/PHY/LTE_TRANSPORT/sss.c
+44
-21
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+1
-0
openair1/PHY/defs.h
openair1/PHY/defs.h
+1
-0
openair1/SCHED/phy_procedures_lte_common.c
openair1/SCHED/phy_procedures_lte_common.c
+3
-0
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+1
-0
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+19
-20
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+2
-2
openair2/UTIL/LOG/log.h
openair2/UTIL/LOG/log.h
+2
-0
openair3/NAS/COMMON/EMM/MSG/AttachAccept.c
openair3/NAS/COMMON/EMM/MSG/AttachAccept.c
+3
-1
openair3/NAS/UE/UEprocess.c
openair3/NAS/UE/UEprocess.c
+1
-0
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+56
-73
targets/SIMU/USER/oaisim_functions.c
targets/SIMU/USER/oaisim_functions.c
+2
-0
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
51b23b40
...
@@ -62,8 +62,7 @@
...
@@ -62,8 +62,7 @@
<compile_prog_args>
--oaisim -r Rel10 --noS1 -c
</compile_prog_args>
<compile_prog_args>
--oaisim -r Rel10 --noS1 -c
</compile_prog_args>
<compile_prog_out>
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1
<compile_prog_out>
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/rb_tool
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/rb_tool
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko
</compile_prog_out>
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/oai_nw_drv/oai_nw_drv.ko
</compile_prog_out>
<pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash
</pre_exec>
<pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash
</pre_exec>
<pre_exec_args></pre_exec_args>
<pre_exec_args></pre_exec_args>
<main_exec></main_exec>
<main_exec></main_exec>
...
@@ -10486,7 +10485,7 @@ c
...
@@ -10486,7 +10485,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
<UE_main_exec_args></UE_main_exec_args>
...
@@ -10586,7 +10585,7 @@ c
...
@@ -10586,7 +10585,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
<UE_main_exec_args></UE_main_exec_args>
...
@@ -10686,7 +10685,7 @@ c
...
@@ -10686,7 +10685,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
<UE_main_exec_args></UE_main_exec_args>
...
@@ -10787,7 +10786,7 @@ c
...
@@ -10787,7 +10786,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
<UE_main_exec_args></UE_main_exec_args>
...
@@ -10887,7 +10886,7 @@ c
...
@@ -10887,7 +10886,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
<UE_main_exec_args></UE_main_exec_args>
...
@@ -10989,7 +10988,7 @@ c
...
@@ -10989,7 +10988,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
<UE_main_exec_args></UE_main_exec_args>
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/build_oai
View file @
51b23b40
...
@@ -465,6 +465,11 @@ function main() {
...
@@ -465,6 +465,11 @@ function main() {
echo
"set (CPU_AFFINITY
\"
${
CPU_AFFINITY_FLAG_USER
}
\"
)"
>>
$cmake_file
echo
"set (CPU_AFFINITY
\"
${
CPU_AFFINITY_FLAG_USER
}
\"
)"
>>
$cmake_file
echo
"set ( T_TRACER
$T_TRACER
)"
>>
$cmake_file
echo
"set ( T_TRACER
$T_TRACER
)"
>>
$cmake_file
echo
"set (UE_AUTOTEST_TRACE
$UE_AUTOTEST_TRACE
)"
>>
$cmake_file
echo
"set (UE_AUTOTEST_TRACE
$UE_AUTOTEST_TRACE
)"
>>
$cmake_file
if
[
"
$UE
"
=
1
-a
"
$NOS1
"
=
"0"
]
;
then
echo_info
"Compiling UE S1 build : enabling Linux and NETLINK"
echo
"set (LINUX True )"
>>
$cmake_file
echo
"set (PDCP_USE_NETLINK True )"
>>
$cmake_file
fi
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
cd
$DIR
/
$lte_build_dir
/build
cd
$DIR
/
$lte_build_dir
/build
cmake ..
cmake ..
...
...
This diff is collapsed.
Click to expand it.
common/utils/T/T_messages.txt
View file @
51b23b40
...
@@ -93,7 +93,7 @@ ID = ENB_MAC_UE_UL_PDU
...
@@ -93,7 +93,7 @@ ID = ENB_MAC_UE_UL_PDU
FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu
FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu
ID = ENB_MAC_UE_UL_PDU_WITH_DATA
ID = ENB_MAC_UE_UL_PDU_WITH_DATA
DESC = MAC uplink UE received PDU
DESC = MAC uplink UE received PDU
GROUP = ALL:MAC:ENB
:HEAVY
GROUP = ALL:MAC:ENB
FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu : buffer,data
FORMAT = int,eNB_ID : int,CC_id : int,rnti : int,frame : int,subframe : int,harq_pid : int,sdu_length : int,num_ce : int,num_sdu : buffer,data
ID = ENB_MAC_UE_UL_SDU
ID = ENB_MAC_UE_UL_SDU
DESC = MAC uplink UE received SDU
DESC = MAC uplink UE received SDU
...
@@ -805,6 +805,85 @@ ID = LEGACY_CLI_TRACE
...
@@ -805,6 +805,85 @@ ID = LEGACY_CLI_TRACE
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_TRACE:LEGACY
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
FORMAT = string,log
#################
#### UE LOGS ####
#################
#general logs
ID = UE_MASTER_TICK
DESC = UE master tick - one tick per ms, to be used as "reference clock", mostly for ticktime view
GROUP = ALL:GENERAL:UE
FORMAT = int,eNB_ID : int,frame : int,subframe
#PHY logs
ID = UE_PHY_UL_TICK
DESC = UE uplink tick - one tick per ms at start of uplink processing
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe
ID = UE_PHY_DL_TICK
DESC = UE downlink tick - one tick per ms at start of downlink processing
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe
ID = UE_PHY_DLSCH_UE_DCI
DESC = UE downlink UE specific DCI as sent by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,dci_format : int,harq_pid : int,mcs : int,TBS
ID = UE_PHY_DLSCH_UE_ACK
DESC = UE downlink UE ACK as seen by the PHY layer in process_HARQ_feedback
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_DLSCH_UE_NACK
DESC = UE downlink UE NACK as seen by the PHY layer in process_HARQ_feedback
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_ULSCH_UE_DCI
DESC = UE uplink UE specific DCI as sent by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid : int,mcs : int,round : int,first_rb : int,nb_rb : int,TBS
ID = UE_PHY_ULSCH_UE_ACK
DESC = UE uplink UE ACK as seen by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_ULSCH_UE_NACK
DESC = UE uplink UE NACK as seen by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_INPUT_SIGNAL
DESC = UE received signal in the time domain for a duration of 1ms
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,antenna : buffer,rxdata
ID = UE_PHY_DL_CHANNEL_ESTIMATE
DESC = UE channel estimation in the time domain
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,antenna : buffer,chest_t
ID = UE_PHY_PDCCH_IQ
DESC = UE PDCCH received IQ data
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,nb_rb : int,NB_RB_DL : int,symbols_per_tti : buffer,rxdataF_comp
ID = UE_PHY_PDCCH_ENERGY
DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,pdcch_ch_level00 : int,pdcch_ch_level01 : int,pdcch_ch_level10: int,pdcch_ch_level11
ID = UE_PHY_PDSCH_IQ
DESC = UE PDSCH received IQ data
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,nb_rb : int,N_RB_UL : int,symbols_per_tti : buffer,pusch_comp
ID = UE_PHY_PDSCH_ENERGY
DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,pdsch_ch_level00 : int,pdsch_ch_level01 : int,pdsch_ch_level10: int,pdsch_ch_level11
ID = UE_PHY_PUSCH_TX_POWER
DESC = UE PUSCH tx power
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_id : int,frame : int,subframe : int,p0_pusch : int,ampl: int,g_pusch: int,pl: int,nb_rb
ID = UE_PHY_PUCCH_TX_POWER
DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_id : int,frame : int,subframe : int,p0_pucch : int,ampl: int,g_pucch: int,pl
ID = UE_PHY_MEAS
DESC = UE PHY measurements
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,rsrp : int,rssi : int,snr: int,rx_power: int,noise_power: int,w_cqi: int,freq_offset
#for debug/test - not used
#for debug/test - not used
ID = first
ID = first
ID = buf_test
ID = buf_test
...
@@ -963,6 +1042,10 @@ ID = VCD_VARIABLE_TRX_TST
...
@@ -963,6 +1042,10 @@ ID = VCD_VARIABLE_TRX_TST
DESC = VCD variable TRX_TST
DESC = VCD variable TRX_TST
GROUP = ALL:VCD:ENB:VCD_VARIABLE
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
FORMAT = ulong,value
ID = VCD_VARIABLE_TRX_WRITE_FLAGS
DESC = VCD variable TRX_WRITE_FLAGS
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
ID = VCD_VARIABLE_TX_TS
ID = VCD_VARIABLE_TX_TS
DESC = VCD variable TX_TS
DESC = VCD variable TX_TS
GROUP = ALL:VCD:ENB:VCD_VARIABLE
GROUP = ALL:VCD:ENB:VCD_VARIABLE
...
@@ -1267,13 +1350,29 @@ ID = VCD_VARIABLE_UE0_SFN7
...
@@ -1267,13 +1350,29 @@ ID = VCD_VARIABLE_UE0_SFN7
DESC = VCD variable UE0_SFN7
DESC = VCD variable UE0_SFN7
GROUP = ALL:VCD:ENB:VCD_VARIABLE
GROUP = ALL:VCD:ENB:VCD_VARIABLE
FORMAT = ulong,value
FORMAT = ulong,value
ID = VCD_VARIABLE_UE_PDCP_FLUSH_SIZE
DESC = VCD variable UE_PDCP_FLUSH_SIZE
GROUP = ALL:VCD:ENB:UE:VCD_VARIABLE
FORMAT = ulong,value
ID = VCD_VARIABLE_UE_PDCP_FLUSH_ERR
DESC = VCD variable UE_PDCP_FLUSH_ERR
GROUP = ALL:VCD:ENB:UE:VCD_VARIABLE
FORMAT = ulong,value
ID = VCD_VARIABLE_UE0_TRX_READ_NS
ID = VCD_VARIABLE_UE0_TRX_READ_NS
DESC = VCD variable UE0_TRX_READ_NS
DESC = VCD variable UE0_TRX_READ_NS
GROUP = ALL:VCD:
ENB
:VCD_VARIABLE
GROUP = ALL:VCD:
UE
:VCD_VARIABLE
FORMAT = ulong,value
FORMAT = ulong,value
ID = VCD_VARIABLE_UE0_TRX_WRITE_NS
ID = VCD_VARIABLE_UE0_TRX_WRITE_NS
DESC = VCD variable UE0_TRX_WRITE_NS
DESC = VCD variable UE0_TRX_WRITE_NS
GROUP = ALL:VCD:ENB:VCD_VARIABLE
GROUP = ALL:VCD:UE:VCD_VARIABLE
FORMAT = ulong,value
ID = VCD_VARIABLE_UE0_TRX_READ_NS_MISSING
DESC = VCD variable UE0_TRX_READ_NS_MISSING
GROUP = ALL:VCD:UE:VCD_VARIABLE
FORMAT = ulong,value
ID = VCD_VARIABLE_UE0_TRX_WRITE_NS_MISSING
DESC = VCD variable UE0_TRX_WRITE_NS_MISSING
GROUP = ALL:VCD:UE:VCD_VARIABLE
FORMAT = ulong,value
FORMAT = ulong,value
#functions
#functions
...
@@ -1326,8 +1425,12 @@ ID = VCD_FUNCTION_TRX_WRITE_SF9
...
@@ -1326,8 +1425,12 @@ ID = VCD_FUNCTION_TRX_WRITE_SF9
DESC = VCD function TRX_WRITE_SF9
DESC = VCD function TRX_WRITE_SF9
GROUP = ALL:VCD:UE:VCD_FUNCTION
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
ID = VCD_FUNCTION_UE_SIGNAL_COND_RXTX
ID = VCD_FUNCTION_UE_SIGNAL_COND_RXTX0
DESC = VCD function UE_SIGNAL_COND_RXTX
DESC = VCD function UE_SIGNAL_COND_RXTX0
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
ID = VCD_FUNCTION_UE_SIGNAL_COND_RXTX1
DESC = VCD function UE_SIGNAL_COND_RXTX1
GROUP = ALL:VCD:UE:VCD_FUNCTION
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
ID = VCD_FUNCTION_UE_WAIT_COND_RXTX0
ID = VCD_FUNCTION_UE_WAIT_COND_RXTX0
...
@@ -1674,6 +1777,10 @@ ID = VCD_FUNCTION_UE_ULSCH_ENCODING
...
@@ -1674,6 +1777,10 @@ ID = VCD_FUNCTION_UE_ULSCH_ENCODING
DESC = VCD function UE_ULSCH_ENCODING
DESC = VCD function UE_ULSCH_ENCODING
GROUP = ALL:VCD:UE:VCD_FUNCTION
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
ID = VCD_FUNCTION_UE_ULSCH_ENCODING_FILL_CQI
DESC = VCD function UE_ULSCH_ENCODING_FILL_CQI
GROUP = ALL:VCD:UE:VCD_FUNCTION
FORMAT = int,value
ID = VCD_FUNCTION_UE_ULSCH_SCRAMBLING
ID = VCD_FUNCTION_UE_ULSCH_SCRAMBLING
DESC = VCD function UE_ULSCH_SCRAMBLING
DESC = VCD function UE_ULSCH_SCRAMBLING
GROUP = ALL:VCD:UE:VCD_FUNCTION
GROUP = ALL:VCD:UE:VCD_FUNCTION
...
@@ -1814,10 +1921,10 @@ ID = VCD_FUNCTION_RLC_DATA_REQ
...
@@ -1814,10 +1921,10 @@ ID = VCD_FUNCTION_RLC_DATA_REQ
DESC = VCD function RLC_DATA_REQ
DESC = VCD function RLC_DATA_REQ
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
ID = VCD_FUNCTION_RLC_DATA_IND
#
ID = VCD_FUNCTION_RLC_DATA_IND
DESC = VCD function RLC_DATA_IND
#
DESC = VCD function RLC_DATA_IND
GROUP = ALL:VCD:ENB:VCD_FUNCTION
#
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
#
FORMAT = int,value
ID = VCD_FUNCTION_MAC_RLC_STATUS_IND
ID = VCD_FUNCTION_MAC_RLC_STATUS_IND
DESC = VCD function MAC_RLC_STATUS_IND
DESC = VCD function MAC_RLC_STATUS_IND
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
...
@@ -1862,6 +1969,22 @@ ID = VCD_FUNCTION_PDCP_VALIDATE_SECURITY
...
@@ -1862,6 +1969,22 @@ ID = VCD_FUNCTION_PDCP_VALIDATE_SECURITY
DESC = VCD function PDCP_VALIDATE_SECURITY
DESC = VCD function PDCP_VALIDATE_SECURITY
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
ID = VCD_FUNCTION_PDCP_FIFO_READ
DESC = VCD function PDCP_FIFO_READ
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
ID = VCD_FUNCTION_PDCP_FIFO_READ_BUFFER
DESC = VCD function PDCP_FIFO_READ_BUFFER
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
ID = VCD_FUNCTION_PDCP_FIFO_FLUSH
DESC = VCD function PDCP_FIFO_FLUSH
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
ID = VCD_FUNCTION_PDCP_FIFO_FLUSH_BUFFER
DESC = VCD function PDCP_FIFO_FLUSH_BUFFER
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
ID = VCD_FUNCTION_RRC_RX_TX
ID = VCD_FUNCTION_RRC_RX_TX
DESC = VCD function RRC_RX_TX
DESC = VCD function RRC_RX_TX
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
...
@@ -1938,82 +2061,3 @@ ID = VCD_FUNCTION_RECV_IF5
...
@@ -1938,82 +2061,3 @@ ID = VCD_FUNCTION_RECV_IF5
DESC = VCD function RECV_IF5
DESC = VCD function RECV_IF5
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
#################
#### UE LOGS ####
#################
#general logs
ID = UE_MASTER_TICK
DESC = UE master tick - one tick per ms, to be used as "reference clock", mostly for ticktime view
GROUP = ALL:GENERAL:UE
FORMAT = int,eNB_ID : int,frame : int,subframe
#PHY logs
ID = UE_PHY_UL_TICK
DESC = UE uplink tick - one tick per ms at start of uplink processing
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe
ID = UE_PHY_DL_TICK
DESC = UE downlink tick - one tick per ms at start of downlink processing
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe
ID = UE_PHY_DLSCH_UE_DCI
DESC = UE downlink UE specific DCI as sent by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,dci_format : int,harq_pid : int,mcs : int,TBS
ID = UE_PHY_DLSCH_UE_ACK
DESC = UE downlink UE ACK as seen by the PHY layer in process_HARQ_feedback
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_DLSCH_UE_NACK
DESC = UE downlink UE NACK as seen by the PHY layer in process_HARQ_feedback
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_ULSCH_UE_DCI
DESC = UE uplink UE specific DCI as sent by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid : int,mcs : int,round : int,first_rb : int,nb_rb : int,TBS
ID = UE_PHY_ULSCH_UE_ACK
DESC = UE uplink UE ACK as seen by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_ULSCH_UE_NACK
DESC = UE uplink UE NACK as seen by the PHY layer
GROUP = ALL:PHY:GRAPHIC:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,UE_id : int,rnti : int,harq_pid
ID = UE_PHY_INPUT_SIGNAL
DESC = UE received signal in the time domain for a duration of 1ms
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,frame : int,subframe : int,antenna : buffer,rxdata
ID = UE_PHY_DL_CHANNEL_ESTIMATE
DESC = UE channel estimation in the time domain
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,antenna : buffer,chest_t
ID = UE_PHY_PDCCH_IQ
DESC = UE PDCCH received IQ data
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,nb_rb : int,NB_RB_DL : int,symbols_per_tti : buffer,rxdataF_comp
ID = UE_PHY_PDCCH_ENERGY
DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,pdcch_ch_level00 : int,pdcch_ch_level01 : int,pdcch_ch_level10: int,pdcch_ch_level11
ID = UE_PHY_PDSCH_IQ
DESC = UE PDSCH received IQ data
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,nb_rb : int,N_RB_UL : int,symbols_per_tti : buffer,pusch_comp
ID = UE_PHY_PDSCH_ENERGY
DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,pdsch_ch_level00 : int,pdsch_ch_level01 : int,pdsch_ch_level10: int,pdsch_ch_level11
ID = UE_PHY_PUSCH_TX_POWER
DESC = UE PUSCH tx power
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_id : int,frame : int,subframe : int,p0_pusch : int,ampl: int,g_pusch: int,pl: int,nb_rb
ID = UE_PHY_PUCCH_TX_POWER
DESC = UE PDSCH 1 energy and threshold
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_id : int,frame : int,subframe : int,p0_pucch : int,ampl: int,g_pucch: int,pl
ID = UE_PHY_MEAS
DESC = UE PHY measurements
GROUP = ALL:PHY:GRAPHIC:HEAVY:UE
FORMAT = int,eNB_ID : int,UE_ID : int,frame : int,subframe : int,rsrp : int,rssi : int,snr: int,rx_power: int,noise_power: int,w_cqi: int,freq_offset
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
51b23b40
...
@@ -40,6 +40,8 @@
...
@@ -40,6 +40,8 @@
#include "SCHED/defs.h"
#include "SCHED/defs.h"
#include "defs.h"
#include "defs.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/LOG/log.h"
#include <syscall.h>
//#define DEBUG_DLSCH_CODING
//#define DEBUG_DLSCH_CODING
//#define DEBUG_DLSCH_FREE 1
//#define DEBUG_DLSCH_FREE 1
...
@@ -347,6 +349,8 @@ int dlsch_encoding_2threads0(te_params *tep) {
...
@@ -347,6 +349,8 @@ int dlsch_encoding_2threads0(te_params *tep) {
extern
int
oai_exit
;
extern
int
oai_exit
;
void
*
te_thread
(
void
*
param
)
{
void
*
te_thread
(
void
*
param
)
{
pthread_setname_np
(
pthread_self
(),
"te processing"
);
LOG_I
(
PHY
,
"thread te created id=%ld"
,
syscall
(
__NR_gettid
));
eNB_proc_t
*
proc
=
&
((
te_params
*
)
param
)
->
eNB
->
proc
;
eNB_proc_t
*
proc
=
&
((
te_params
*
)
param
)
->
eNB
->
proc
;
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
51b23b40
...
@@ -1207,7 +1207,8 @@ int32_t rx_pdcch(LTE_UE_COMMON *lte_ue_common_vars,
...
@@ -1207,7 +1207,8 @@ int32_t rx_pdcch(LTE_UE_COMMON *lte_ue_common_vars,
*/
*/
int
pss_sss_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int
pss_sss_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int32_t
pss_ext
[
4
][
72
],
int32_t
pss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
]);
int32_t
sss_ext
[
4
][
72
],
uint8_t
subframe
);
/*! \brief Extract only PSS resource elements
/*! \brief Extract only PSS resource elements
@param phy_vars_ue Pointer to UE variables
@param phy_vars_ue Pointer to UE variables
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/sss.c
View file @
51b23b40
...
@@ -149,7 +149,8 @@ int pss_ch_est(PHY_VARS_UE *ue,
...
@@ -149,7 +149,8 @@ int pss_ch_est(PHY_VARS_UE *ue,
int
_do_pss_sss_extract
(
PHY_VARS_UE
*
ue
,
int
_do_pss_sss_extract
(
PHY_VARS_UE
*
ue
,
int32_t
pss_ext
[
4
][
72
],
int32_t
pss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
],
uint8_t
doPss
,
uint8_t
doSss
)
// add flag to indicate extracting only PSS, only SSS, or both
uint8_t
doPss
,
uint8_t
doSss
,
uint8_t
subframe
)
// add flag to indicate extracting only PSS, only SSS, or both
{
{
...
@@ -163,32 +164,52 @@ int _do_pss_sss_extract(PHY_VARS_UE *ue,
...
@@ -163,32 +164,52 @@ int _do_pss_sss_extract(PHY_VARS_UE *ue,
int
rx_offset
=
frame_parms
->
ofdm_symbol_size
-
3
*
12
;
int
rx_offset
=
frame_parms
->
ofdm_symbol_size
-
3
*
12
;
uint8_t
pss_symb
,
sss_symb
;
uint8_t
pss_symb
,
sss_symb
;
int32_t
**
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
0
].
rxdataF
;
int32_t
**
rxdataF
;
if
(
frame_parms
->
frame_type
==
FDD
)
{
pss_symb
=
6
-
frame_parms
->
Ncp
;
sss_symb
=
pss_symb
-
1
;
}
else
{
pss_symb
=
2
;
sss_symb
=
frame_parms
->
symbols_per_tti
-
1
;
}
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
if
(
frame_parms
->
frame_type
==
FDD
)
{
pss_symb
=
6
-
frame_parms
->
Ncp
;
sss_symb
=
pss_symb
-
1
;
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[(
subframe
&
0x1
)].
rxdataF
;
pss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
sss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
else
{
pss_symb
=
2
;
sss_symb
=
frame_parms
->
symbols_per_tti
-
1
;
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[(
subframe
&
0x1
)].
rxdataF
;
sss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[((
subframe
+
1
)
&
0x1
)].
rxdataF
;
pss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
//printf("extract_rbs: symbol_mod=%d, rx_offset=%d, ch_offset=%d\n",symbol_mod,
//printf("extract_rbs: symbol_mod=%d, rx_offset=%d, ch_offset=%d\n",symbol_mod,
// (rx_offset + (symbol*(frame_parms->ofdm_symbol_size)))*2,
// (rx_offset + (symbol*(frame_parms->ofdm_symbol_size)))*2,
// LTE_CE_OFFSET+ch_offset+(symbol_mod*(frame_parms->ofdm_symbol_size)));
// LTE_CE_OFFSET+ch_offset+(symbol_mod*(frame_parms->ofdm_symbol_size)));
pss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
sss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
pss_rxF_ext
=
&
pss_ext
[
aarx
][
0
];
pss_rxF_ext
=
&
pss_ext
[
aarx
][
0
];
sss_rxF_ext
=
&
sss_ext
[
aarx
][
0
];
sss_rxF_ext
=
&
sss_ext
[
aarx
][
0
];
for
(
rb
=
0
;
rb
<
nb_rb
;
rb
++
)
{
for
(
rb
=
0
;
rb
<
nb_rb
;
rb
++
)
{
// skip DC carrier
// skip DC carrier
if
(
rb
==
3
)
{
if
(
rb
==
3
)
{
sss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
if
(
frame_parms
->
frame_type
==
FDD
)
pss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
{
sss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
pss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
else
{
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[(
subframe
&
0x1
)].
rxdataF
;
sss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[((
subframe
+
1
)
&
0x1
)].
rxdataF
;
pss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
}
}
for
(
i
=
0
;
i
<
12
;
i
++
)
{
for
(
i
=
0
;
i
<
12
;
i
++
)
{
...
@@ -209,16 +230,17 @@ int _do_pss_sss_extract(PHY_VARS_UE *ue,
...
@@ -209,16 +230,17 @@ int _do_pss_sss_extract(PHY_VARS_UE *ue,
int
pss_sss_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int
pss_sss_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int32_t
pss_ext
[
4
][
72
],
int32_t
pss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
])
int32_t
sss_ext
[
4
][
72
],
uint8_t
subframe
)
{
{
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
sss_ext
,
1
/* doPss */
,
1
/* doSss */
);
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
sss_ext
,
1
/* doPss */
,
1
/* doSss */
,
subframe
);
}
}
int
pss_only_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int
pss_only_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int32_t
pss_ext
[
4
][
72
])
int32_t
pss_ext
[
4
][
72
])
{
{
static
int32_t
dummy
[
4
][
72
];
static
int32_t
dummy
[
4
][
72
];
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
dummy
,
1
/* doPss */
,
0
/* doSss */
);
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
dummy
,
1
/* doPss */
,
0
/* doSss */
,
0
);
}
}
...
@@ -226,7 +248,7 @@ int sss_only_extract(PHY_VARS_UE *phy_vars_ue,
...
@@ -226,7 +248,7 @@ int sss_only_extract(PHY_VARS_UE *phy_vars_ue,
int32_t
sss_ext
[
4
][
72
])
int32_t
sss_ext
[
4
][
72
])
{
{
static
int32_t
dummy
[
4
][
72
];
static
int32_t
dummy
[
4
][
72
];
return
_do_pss_sss_extract
(
phy_vars_ue
,
dummy
,
sss_ext
,
0
/* doPss */
,
1
/* doSss */
);
return
_do_pss_sss_extract
(
phy_vars_ue
,
dummy
,
sss_ext
,
0
/* doPss */
,
1
/* doSss */
,
0
);
}
}
...
@@ -295,10 +317,10 @@ int rx_sss(PHY_VARS_UE *ue,int32_t *tot_metric,uint8_t *flip_max,uint8_t *phase_
...
@@ -295,10 +317,10 @@ int rx_sss(PHY_VARS_UE *ue,int32_t *tot_metric,uint8_t *flip_max,uint8_t *phase_
0
,
0
,
1
);
1
);
}
}
// pss sss extract for subframe 0
pss_sss_extract
(
ue
,
pss_sss_extract
(
ue
,
pss_ext
,
pss_ext
,
sss0_ext
);
sss0_ext
,
0
);
/*
/*
write_output("rxsig0.m","rxs0",&ue->common_vars.rxdata[0][0],ue->frame_parms.samples_per_tti,1,1);
write_output("rxsig0.m","rxs0",&ue->common_vars.rxdata[0][0],ue->frame_parms.samples_per_tti,1,1);
write_output("rxdataF0.m","rxF0",&ue->common_vars.rxdataF[0][0],2*14*ue->frame_parms.ofdm_symbol_size,2,1);
write_output("rxdataF0.m","rxF0",&ue->common_vars.rxdataF[0][0],2*14*ue->frame_parms.ofdm_symbol_size,2,1);
...
@@ -346,9 +368,10 @@ int rx_sss(PHY_VARS_UE *ue,int32_t *tot_metric,uint8_t *flip_max,uint8_t *phase_
...
@@ -346,9 +368,10 @@ int rx_sss(PHY_VARS_UE *ue,int32_t *tot_metric,uint8_t *flip_max,uint8_t *phase_
1
);
1
);
}
}
// pss sss extract for subframe 5
pss_sss_extract
(
ue
,
pss_sss_extract
(
ue
,
pss_ext
,
pss_ext
,
sss5_ext
);
sss5_ext
,
5
);
// write_output("sss5_ext0.m","sss5ext0",sss5_ext,72,1,1);
// write_output("sss5_ext0.m","sss5ext0",sss5_ext,72,1,1);
// get conjugated channel estimate from PSS (symbol 6), H* = R* \cdot PSS
// get conjugated channel estimate from PSS (symbol 6), H* = R* \cdot PSS
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
51b23b40
...
@@ -418,6 +418,7 @@ int ulsch_decoding_data_2thread0(td_params* tdp) {
...
@@ -418,6 +418,7 @@ int ulsch_decoding_data_2thread0(td_params* tdp) {
extern
int
oai_exit
;
extern
int
oai_exit
;
void
*
td_thread
(
void
*
param
)
{
void
*
td_thread
(
void
*
param
)
{
pthread_setname_np
(
pthread_self
(),
"td processing"
);
PHY_VARS_eNB
*
eNB
=
((
td_params
*
)
param
)
->
eNB
;
PHY_VARS_eNB
*
eNB
=
((
td_params
*
)
param
)
->
eNB
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs.h
View file @
51b23b40
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
#ifndef __PHY_DEFS__H__
#ifndef __PHY_DEFS__H__
#define __PHY_DEFS__H__
#define __PHY_DEFS__H__
#define _GNU_SOURCE
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <malloc.h>
#include <malloc.h>
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_common.c
View file @
51b23b40
...
@@ -339,6 +339,9 @@ uint8_t get_reset_ack(LTE_DL_FRAME_PARMS *frame_parms,
...
@@ -339,6 +339,9 @@ uint8_t get_reset_ack(LTE_DL_FRAME_PARMS *frame_parms,
o_ACK
[
0
]
=
harq_ack
[
subframe_dl0
].
ack
;
o_ACK
[
0
]
=
harq_ack
[
subframe_dl0
].
ack
;
status
=
harq_ack
[
subframe_dl0
].
send_harq_status
;
status
=
harq_ack
[
subframe_dl0
].
send_harq_status
;
if
(
do_reset
)
harq_ack
[
subframe_dl0
].
send_harq_status
=
0
;
//printf("get_ack: Getting ACK/NAK for PDSCH (subframe %d) => %d\n",subframe_dl,o_ACK[0]);
//printf("get_ack: Getting ACK/NAK for PDSCH (subframe %d) => %d\n",subframe_dl,o_ACK[0]);
}
else
{
}
else
{
switch
(
frame_parms
->
tdd_config
)
{
switch
(
frame_parms
->
tdd_config
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
51b23b40
...
@@ -2605,6 +2605,7 @@ extern int oai_exit;
...
@@ -2605,6 +2605,7 @@ extern int oai_exit;
static
void
*
fep_thread
(
void
*
param
)
{
static
void
*
fep_thread
(
void
*
param
)
{
pthread_setname_np
(
pthread_self
(),
"UEfep"
);
PHY_VARS_eNB
*
eNB
=
(
PHY_VARS_eNB
*
)
param
;
PHY_VARS_eNB
*
eNB
=
(
PHY_VARS_eNB
*
)
param
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED/phy_procedures_lte_ue.c
View file @
51b23b40
...
@@ -1184,11 +1184,12 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1184,11 +1184,12 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
=
19
;
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
=
19
;
}
}
LOG_I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d, P0_PRACH %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
LOG_I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d,
PL %d,
P0_PRACH %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
ue
->
Mod_id
,
ue
->
Mod_id
,
frame_tx
,
frame_tx
,
subframe_tx
,
subframe_tx
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
,
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
),
ue
->
tx_power_dBm
[
subframe_tx
],
ue
->
tx_power_dBm
[
subframe_tx
],
ue
->
prach_resources
[
eNB_id
]
->
ra_PREAMBLE_RECEIVED_TARGET_POWER
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PREAMBLE_RECEIVED_TARGET_POWER
,
ue
->
prach_resources
[
eNB_id
]
->
ra_TDD_map_index
,
ue
->
prach_resources
[
eNB_id
]
->
ra_TDD_map_index
,
...
@@ -1377,7 +1378,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
...
@@ -1377,7 +1378,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
round
=
0
;
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
round
=
0
;
}
}
ack_status
=
g
et_ack
(
&
ue
->
frame_parms
,
ack_status
=
res
et_ack
(
&
ue
->
frame_parms
,
ue
->
dlsch
[
eNB_id
][
0
]
->
harq_ack
,
ue
->
dlsch
[
eNB_id
][
0
]
->
harq_ack
,
subframe_tx
,
subframe_tx
,
ue
->
ulsch
[
eNB_id
]
->
o_ACK
);
ue
->
ulsch
[
eNB_id
]
->
o_ACK
);
...
@@ -1393,14 +1394,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
...
@@ -1393,14 +1394,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
// check if we received a PDSCH at subframe_tx - 4
// check if we received a PDSCH at subframe_tx - 4
// ==> send ACK/NACK on PUSCH
// ==> send ACK/NACK on PUSCH
if
(
(
ue
->
dlsch
[
eNB_id
][
0
]
->
harq_ack
[
proc
->
subframe_rx
].
send_harq_status
)
==
1
)
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
=
ack_status
;
{
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
=
1
;
}
else
{
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
=
0
;
}
#if T_TRACER
#if T_TRACER
if
(
ue
->
ulsch
[
eNB_id
]
->
o_ACK
[
0
])
if
(
ue
->
ulsch
[
eNB_id
]
->
o_ACK
[
0
])
...
@@ -1710,6 +1704,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1710,6 +1704,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
int
tx_amp
;
int
tx_amp
;
int16_t
Po_PUCCH
;
int16_t
Po_PUCCH
;
uint8_t
ack_status
=
0
;
uint8_t
ack_status
=
0
;
uint8_t
ack_sr_generated
=
0
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX_PUCCH
,
VCD_FUNCTION_IN
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX_PUCCH
,
VCD_FUNCTION_IN
);
...
@@ -1781,7 +1776,8 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1781,7 +1776,8 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
// we need to transmit ACK/NAK in this subframe
// we need to transmit ACK/NAK in this subframe
ue
->
generate_ul_signal
[
eNB_id
]
=
1
;
ue
->
generate_ul_signal
[
eNB_id
]
=
1
;
ack_sr_generated
=
1
;
if
((
frame_parms
->
frame_type
==
TDD
)
&&
(
SR_payload
>
0
))
{
if
((
frame_parms
->
frame_type
==
TDD
)
&&
(
SR_payload
>
0
))
{
format
=
pucch_format1b
;
format
=
pucch_format1b
;
}
}
...
@@ -1882,6 +1878,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1882,6 +1878,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
}
}
}
else
if
(
SR_payload
==
1
)
{
// no ACK/NAK but SR is triggered by MAC
}
else
if
(
SR_payload
==
1
)
{
// no ACK/NAK but SR is triggered by MAC
ack_sr_generated
=
1
;
if
(
ue
->
mac_enabled
==
1
)
{
if
(
ue
->
mac_enabled
==
1
)
{
Po_PUCCH
=
pucch_power_cntl
(
ue
,
proc
,
subframe_tx
,
eNB_id
,
pucch_format1
);
Po_PUCCH
=
pucch_power_cntl
(
ue
,
proc
,
subframe_tx
,
eNB_id
,
pucch_format1
);
}
}
...
@@ -1940,7 +1937,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1940,7 +1937,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
// PUCCH 2x
// PUCCH 2x
if
(
ue
->
generate_ul_signal
[
eNB_id
]
==
0
)
{
// we have not generated ACK/NAK/SR in this subframe
if
(
ack_sr_generated
==
0
)
{
// we have not generated ACK/NAK/SR in this subframe
n2_pucch
=
ue
->
cqi_report_config
[
eNB_id
].
CQI_ReportPeriodic
.
cqi_PUCCH_ResourceIndex
;
n2_pucch
=
ue
->
cqi_report_config
[
eNB_id
].
CQI_ReportPeriodic
.
cqi_PUCCH_ResourceIndex
;
// only use format2 for now, i.e. now ACK/NAK - CQI multiplexing
// only use format2 for now, i.e. now ACK/NAK - CQI multiplexing
...
@@ -1971,14 +1968,6 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1971,14 +1968,6 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
T
(
T_UE_PHY_PUCCH_TX_POWER
,
T_INT
(
eNB_id
),
T_INT
(
Mod_id
),
T_INT
(
frame_tx
%
1024
),
T_INT
(
subframe_tx
),
T_INT
(
ue
->
tx_power_dBm
[
subframe_tx
]),
T
(
T_UE_PHY_PUCCH_TX_POWER
,
T_INT
(
eNB_id
),
T_INT
(
Mod_id
),
T_INT
(
frame_tx
%
1024
),
T_INT
(
subframe_tx
),
T_INT
(
ue
->
tx_power_dBm
[
subframe_tx
]),
T_INT
(
tx_amp
),
T_INT
(
ue
->
dlsch
[
eNB_id
][
0
]
->
g_pucch
),
T_INT
(
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
)));
T_INT
(
tx_amp
),
T_INT
(
ue
->
dlsch
[
eNB_id
][
0
]
->
g_pucch
),
T_INT
(
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
)));
#endif
#endif
LOG_D
(
PHY
,
"[UE %d][RNTI %x] AbsSubFrame %d.%d Generating PUCCH 2 (CQI), n2_pucch %d, Po_PUCCH %d, isShortenPucch %d, amp %d
\n
"
,
Mod_id
,
ue
->
dlsch
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
n2_pucch
,
Po_PUCCH
,
isShortenPucch
,
tx_amp
);
int
len
;
int
len
;
// get the payload : < 12 bits, returned in len
// get the payload : < 12 bits, returned in len
...
@@ -1997,6 +1986,16 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
...
@@ -1997,6 +1986,16 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
ue
->
pdcch_vars
[
eNB_id
]
->
crnti
);
ue
->
pdcch_vars
[
eNB_id
]
->
crnti
);
ue
->
generate_ul_signal
[
eNB_id
]
=
1
;
ue
->
generate_ul_signal
[
eNB_id
]
=
1
;
LOG_D
(
PHY
,
"[UE %d][RNTI %x] AbsSubFrame %d.%d Generating PUCCH 2 (CQI %d), n2_pucch %d, Po_PUCCH %d, isShortenPucch %d, amp %d
\n
"
,
Mod_id
,
ue
->
dlsch
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
CQI_payload
,
n2_pucch
,
Po_PUCCH
,
isShortenPucch
,
tx_amp
);
}
}
// Periodic RI report
// Periodic RI report
else
if
((
ue
->
cqi_report_config
[
eNB_id
].
CQI_ReportPeriodic
.
ri_ConfigIndex
>
0
)
&&
else
if
((
ue
->
cqi_report_config
[
eNB_id
].
CQI_ReportPeriodic
.
ri_ConfigIndex
>
0
)
&&
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LITE/rrc_UE.c
View file @
51b23b40
...
@@ -3131,9 +3131,9 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
...
@@ -3131,9 +3131,9 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
srs_SubframeConfig
);
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
srs_SubframeConfig
);
LOG_I
(
RRC
,
"radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission : %d
\n
"
,
LOG_I
(
RRC
,
"radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission : %d
\n
"
,
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
ackNackSRS_SimultaneousTransmission
);
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
ackNackSRS_SimultaneousTransmission
);
LOG_I
(
RRC
,
"radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts : %ld
\n
"
,
//
LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts : %ld\n",
/* TODO: check that it's okay to access [0] */
/* TODO: check that it's okay to access [0] */
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
srs_MaxUpPts
[
0
]
);
//
sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts[0] );
}
}
// uplinkPowerControlCommon
// uplinkPowerControlCommon
...
...
This diff is collapsed.
Click to expand it.
openair2/UTIL/LOG/log.h
View file @
51b23b40
...
@@ -46,6 +46,8 @@
...
@@ -46,6 +46,8 @@
#include <time.h>
#include <time.h>
#include <stdint.h>
#include <stdint.h>
#include <inttypes.h>
#include <inttypes.h>
#define _GNU_SOURCE
#include <pthread.h>
#else
#else
#include "rtai_fifos.h"
#include "rtai_fifos.h"
#endif
#endif
...
...
This diff is collapsed.
Click to expand it.
openair3/NAS/COMMON/EMM/MSG/AttachAccept.c
View file @
51b23b40
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
#include "TLVEncoder.h"
#include "TLVEncoder.h"
#include "TLVDecoder.h"
#include "TLVDecoder.h"
#include "AttachAccept.h"
#include "AttachAccept.h"
#include "assertions.h"
int
decode_attach_accept
(
attach_accept_msg
*
attach_accept
,
uint8_t
*
buffer
,
uint32_t
len
)
int
decode_attach_accept
(
attach_accept_msg
*
attach_accept
,
uint8_t
*
buffer
,
uint32_t
len
)
{
{
...
@@ -59,7 +60,7 @@ int decode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
...
@@ -59,7 +60,7 @@ int decode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
decoded
+=
decoded_result
;
decoded
+=
decoded_result
;
/* Decoding optional fields */
/* Decoding optional fields */
while
(
len
-
decoded
>
0
)
{
while
(
((
int32_t
)
len
-
(
int32_t
)
decoded
)
>
0
)
{
uint8_t
ieiDecoded
=
*
(
buffer
+
decoded
);
uint8_t
ieiDecoded
=
*
(
buffer
+
decoded
);
/* Type | value iei are below 0x80 so just return the first 4 bits */
/* Type | value iei are below 0x80 so just return the first 4 bits */
...
@@ -189,6 +190,7 @@ int decode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
...
@@ -189,6 +190,7 @@ int decode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
default:
default:
errorCodeDecoder
=
TLV_DECODE_UNEXPECTED_IEI
;
errorCodeDecoder
=
TLV_DECODE_UNEXPECTED_IEI
;
LOG_TRACE
(
WARNING
,
"DECODE_UNEXPECTED_IEI %x (4 bits)"
,
ieiDecoded
);
LOG_TRACE
(
WARNING
,
"DECODE_UNEXPECTED_IEI %x (4 bits)"
,
ieiDecoded
);
AssertFatal
(
0
,
" "
);
return
TLV_DECODE_UNEXPECTED_IEI
;
return
TLV_DECODE_UNEXPECTED_IEI
;
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
openair3/NAS/UE/UEprocess.c
View file @
51b23b40
...
@@ -218,6 +218,7 @@ static void *_nas_user_mngr(void *args)
...
@@ -218,6 +218,7 @@ static void *_nas_user_mngr(void *args)
{
{
LOG_FUNC_IN
;
LOG_FUNC_IN
;
pthread_setname_np
(
pthread_self
(),
"nas_user_mngr"
);
int
exit_loop
=
FALSE
;
int
exit_loop
=
FALSE
;
int
*
fd
=
(
int
*
)
args
;
int
*
fd
=
(
int
*
)
args
;
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-ue.c
View file @
51b23b40
...
@@ -86,7 +86,7 @@ typedef enum {
...
@@ -86,7 +86,7 @@ typedef enum {
si
=
2
si
=
2
}
sync_mode_t
;
}
sync_mode_t
;
void
init_UE_threads
(
int
nb_inst
);
void
init_UE_threads
(
PHY_VARS_UE
*
UE
);
void
*
UE_thread
(
void
*
arg
);
void
*
UE_thread
(
void
*
arg
);
void
init_UE
(
int
nb_inst
);
void
init_UE
(
int
nb_inst
);
...
@@ -204,28 +204,21 @@ void init_thread(int sched_runtime, int sched_deadline, int sched_fifo, cpu_set_
...
@@ -204,28 +204,21 @@ void init_thread(int sched_runtime, int sched_deadline, int sched_fifo, cpu_set_
while
(
sync_var
<
0
)
while
(
sync_var
<
0
)
pthread_cond_wait
(
&
sync_cond
,
&
sync_mutex
);
pthread_cond_wait
(
&
sync_cond
,
&
sync_mutex
);
pthread_mutex_unlock
(
&
sync_mutex
);
pthread_mutex_unlock
(
&
sync_mutex
);
printf
(
"start
ing %s
\n
"
,
name
);
printf
(
"start
ed %s as PID: %ld
\n
"
,
name
,
gettid
()
);
}
}
void
init_UE
(
int
nb_inst
)
{
void
init_UE
(
int
nb_inst
)
{
PHY_VARS_UE
*
UE
;
for
(
long
long
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
int
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
printf
(
"Intializing UE Threads for instance %d ...
\n
"
,
inst
);
init_UE_threads
(
inst
);
sleep
(
1
);
UE
=
PHY_vars_UE_g
[
inst
][
0
];
AssertFatal
(
0
==
openair0_device_load
(
&
(
UE
->
rfdevice
),
&
openair0_cfg
[
0
]),
""
);
UE
->
rfdevice
.
host_type
=
BBU_HOST
;
// UE->rfdevice.type = NONE_DEV;
// UE->rfdevice.type = NONE_DEV;
AssertFatal
(
0
==
pthread_create
(
&
UE
->
proc
.
pthread_ue
,
&
UE
->
proc
.
attr_ue
,
UE_thread
,
NULL
),
""
);
PHY_VARS_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
pthread_setname_np
(
UE
->
proc
.
pthread_ue
,
"main UE"
);
AssertFatal
(
0
==
pthread_create
(
&
UE
->
proc
.
pthread_ue
,
&
UE
->
proc
.
attr_ue
,
UE_thread
,
(
void
*
)
UE
),
""
);
}
}
printf
(
"UE threads created
\n
"
);
printf
(
"UE threads created
by %ld
\n
"
,
gettid
()
);
#ifdef USE_MME
#ifdef USE_MME
while
(
start_UE
==
0
)
{
while
(
start_UE
==
0
)
{
sleep
(
1
);
sleep
(
1
);
...
@@ -465,7 +458,11 @@ static void *UE_thread_synch(void *arg) {
...
@@ -465,7 +458,11 @@ static void *UE_thread_synch(void *arg) {
// rerun with new cell parameters and frequency-offset
// rerun with new cell parameters and frequency-offset
for
(
i
=
0
;
i
<
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_num_channels
;
i
++
)
{
for
(
i
=
0
;
i
<
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_num_channels
;
i
++
)
{
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_gain
[
UE
->
rf_map
.
chain
+
i
]
=
UE
->
rx_total_gain_dB
;
//-USRP_GAIN_OFFSET;
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_gain
[
UE
->
rf_map
.
chain
+
i
]
=
UE
->
rx_total_gain_dB
;
//-USRP_GAIN_OFFSET;
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_freq
[
UE
->
rf_map
.
chain
+
i
]
-=
UE
->
common_vars
.
freq_offset
;
if
(
freq_offset
>=
0
)
{
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_freq
[
UE
->
rf_map
.
chain
+
i
]
+=
UE
->
common_vars
.
freq_offset
;
}
else
{
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_freq
[
UE
->
rf_map
.
chain
+
i
]
-=
UE
->
common_vars
.
freq_offset
;
}
openair0_cfg
[
UE
->
rf_map
.
card
].
tx_freq
[
UE
->
rf_map
.
chain
+
i
]
=
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_freq
[
UE
->
rf_map
.
chain
+
i
]
+
uplink_frequency_offset
[
CC_id
][
i
];
openair0_cfg
[
UE
->
rf_map
.
card
].
tx_freq
[
UE
->
rf_map
.
chain
+
i
]
=
openair0_cfg
[
UE
->
rf_map
.
card
].
rx_freq
[
UE
->
rf_map
.
chain
+
i
]
+
uplink_frequency_offset
[
CC_id
][
i
];
downlink_frequency
[
CC_id
][
i
]
=
openair0_cfg
[
CC_id
].
rx_freq
[
i
];
downlink_frequency
[
CC_id
][
i
]
=
openair0_cfg
[
CC_id
].
rx_freq
[
i
];
freq_offset
=
0
;
freq_offset
=
0
;
...
@@ -629,13 +626,13 @@ static void *UE_thread_rxn_txnp4(void *arg) {
...
@@ -629,13 +626,13 @@ static void *UE_thread_rxn_txnp4(void *arg) {
static
long
long
__thread
instance_cnt_rxtx
=-
1
;
static
long
long
__thread
instance_cnt_rxtx
=-
1
;
proc
->
subframe_rx
=
proc
->
sub_frame_start
;
proc
->
subframe_rx
=
proc
->
sub_frame_start
;
char
thread
N
ame
[
256
]
=
{
0
};
char
thread
n
ame
[
256
]
=
{
0
};
sprintf
(
thread
Name
,
"UE_thread_rxn_txnp4
_%d"
,
proc
->
sub_frame_start
);
sprintf
(
thread
name
,
"UE_proc
_%d"
,
proc
->
sub_frame_start
);
cpu_set_t
cpuset
;
cpu_set_t
cpuset
;
CPU_ZERO
(
&
cpuset
);
CPU_ZERO
(
&
cpuset
);
CPU_SET
(
proc
->
sub_frame_start
+
1
,
&
cpuset
);
CPU_SET
(
proc
->
sub_frame_start
+
1
,
&
cpuset
);
init_thread
(
900000
,
1000000
,
40
,
&
cpuset
,
//sched_get_priority_max(SCHED_FIFO)-1,
init_thread
(
900000
,
1000000
,
40
,
&
cpuset
,
//sched_get_priority_max(SCHED_FIFO)-1,
thread
N
ame
);
thread
n
ame
);
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
// Wait Rx data to process are available
// Wait Rx data to process are available
...
@@ -660,14 +657,14 @@ static void *UE_thread_rxn_txnp4(void *arg) {
...
@@ -660,14 +657,14 @@ static void *UE_thread_rxn_txnp4(void *arg) {
if
(
UE
->
frame_parms
.
frame_type
==
TDD
)
{
if
(
UE
->
frame_parms
.
frame_type
==
TDD
)
{
LOG_D
(
PHY
,
"%s,TDD%d,%s: calling UE_RX
\n
"
,
LOG_D
(
PHY
,
"%s,TDD%d,%s: calling UE_RX
\n
"
,
thread
N
ame
,
thread
n
ame
,
UE
->
frame_parms
.
tdd_config
,
UE
->
frame_parms
.
tdd_config
,
(
sf_type
==
SF_DL
?
"SF_DL"
:
(
sf_type
==
SF_DL
?
"SF_DL"
:
(
sf_type
==
SF_UL
?
"SF_UL"
:
(
sf_type
==
SF_UL
?
"SF_UL"
:
(
sf_type
==
SF_S
?
"SF_S"
:
"UNKNOWN_SF_TYPE"
))));
(
sf_type
==
SF_S
?
"SF_S"
:
"UNKNOWN_SF_TYPE"
))));
}
else
{
}
else
{
LOG_D
(
PHY
,
"%s,%s,%s: calling UE_RX
\n
"
,
LOG_D
(
PHY
,
"%s,%s,%s: calling UE_RX
\n
"
,
thread
N
ame
,
thread
n
ame
,
(
UE
->
frame_parms
.
frame_type
==
FDD
?
"FDD"
:
(
UE
->
frame_parms
.
frame_type
==
FDD
?
"FDD"
:
(
UE
->
frame_parms
.
frame_type
==
TDD
?
"TDD"
:
"UNKNOWN_DUPLEX_MODE"
)),
(
UE
->
frame_parms
.
frame_type
==
TDD
?
"TDD"
:
"UNKNOWN_DUPLEX_MODE"
)),
(
sf_type
==
SF_DL
?
"SF_DL"
:
(
sf_type
==
SF_DL
?
"SF_DL"
:
...
@@ -742,7 +739,7 @@ static void *UE_thread_rxn_txnp4(void *arg) {
...
@@ -742,7 +739,7 @@ static void *UE_thread_rxn_txnp4(void *arg) {
void
*
UE_thread
(
void
*
arg
)
{
void
*
UE_thread
(
void
*
arg
)
{
PHY_VARS_UE
*
UE
=
PHY_vars_UE_g
[
0
][
0
]
;
PHY_VARS_UE
*
UE
=
(
PHY_VARS_UE
*
)
arg
;
// int tx_enabled = 0;
// int tx_enabled = 0;
int
dummy_rx
[
UE
->
frame_parms
.
nb_antennas_rx
][
UE
->
frame_parms
.
samples_per_tti
]
__attribute__
((
aligned
(
32
)));
int
dummy_rx
[
UE
->
frame_parms
.
nb_antennas_rx
][
UE
->
frame_parms
.
samples_per_tti
]
__attribute__
((
aligned
(
32
)));
openair0_timestamp
timestamp
,
timestamp1
;
openair0_timestamp
timestamp
,
timestamp1
;
...
@@ -756,6 +753,11 @@ void *UE_thread(void *arg) {
...
@@ -756,6 +753,11 @@ void *UE_thread(void *arg) {
init_thread
(
100000
,
500000
,
40
,
&
cpuset
,
//sched_get_priority_max(SCHED_FIFO),
init_thread
(
100000
,
500000
,
40
,
&
cpuset
,
//sched_get_priority_max(SCHED_FIFO),
"main UE"
);
"main UE"
);
AssertFatal
(
0
==
openair0_device_load
(
&
(
UE
->
rfdevice
),
&
openair0_cfg
[
0
]),
""
);
UE
->
rfdevice
.
host_type
=
BBU_HOST
;
sleep
(
1
);
init_UE_threads
(
UE
);
#ifdef NAS_UE
#ifdef NAS_UE
MessageDef
*
message_p
;
MessageDef
*
message_p
;
message_p
=
itti_alloc_new_message
(
TASK_NAS_UE
,
INITIALIZE_MESSAGE
);
message_p
=
itti_alloc_new_message
(
TASK_NAS_UE
,
INITIALIZE_MESSAGE
);
...
@@ -763,7 +765,7 @@ void *UE_thread(void *arg) {
...
@@ -763,7 +765,7 @@ void *UE_thread(void *arg) {
#endif
#endif
int
sub_frame
=-
1
;
int
sub_frame
=-
1
;
int
cumulated_shift
=
0
;
//
int cumulated_shift=0;
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
if
(
UE
->
is_synchronized
==
0
)
{
if
(
UE
->
is_synchronized
==
0
)
{
...
@@ -775,7 +777,7 @@ void *UE_thread(void *arg) {
...
@@ -775,7 +777,7 @@ void *UE_thread(void *arg) {
if
(
instance_cnt_synch
<
0
)
{
// we can invoke the synch
if
(
instance_cnt_synch
<
0
)
{
// we can invoke the synch
// grab 10 ms of signal and wakeup synch thread
// grab 10 ms of signal and wakeup synch thread
for
(
int
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
for
(
int
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
rxp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
rxdata
[
i
][
0
];
rxp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
rxdata
[
i
][
0
];
if
(
UE
->
mode
!=
loop_through_memory
)
if
(
UE
->
mode
!=
loop_through_memory
)
AssertFatal
(
UE
->
frame_parms
.
samples_per_tti
*
10
==
AssertFatal
(
UE
->
frame_parms
.
samples_per_tti
*
10
==
...
@@ -821,7 +823,7 @@ void *UE_thread(void *arg) {
...
@@ -821,7 +823,7 @@ void *UE_thread(void *arg) {
AssertFatal
(
UE
->
rx_offset
==
AssertFatal
(
UE
->
rx_offset
==
UE
->
rfdevice
.
trx_read_func
(
&
UE
->
rfdevice
,
UE
->
rfdevice
.
trx_read_func
(
&
UE
->
rfdevice
,
&
timestamp
,
&
timestamp
,
(
void
**
)
UE
->
common_vars
.
rxdata
,
(
void
**
)
UE
->
common_vars
.
rxdata
,
UE
->
rx_offset
,
UE
->
rx_offset
,
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
}
}
...
@@ -833,8 +835,8 @@ void *UE_thread(void *arg) {
...
@@ -833,8 +835,8 @@ void *UE_thread(void *arg) {
AssertFatal
(
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
==
AssertFatal
(
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
==
UE
->
rfdevice
.
trx_read_func
(
&
UE
->
rfdevice
,
UE
->
rfdevice
.
trx_read_func
(
&
UE
->
rfdevice
,
&
timestamp
,
&
timestamp
,
(
void
**
)
UE
->
common_vars
.
rxdata
,
(
void
**
)
UE
->
common_vars
.
rxdata
,
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
,
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
,
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
slot_fep
(
UE
,
0
,
0
,
0
,
0
,
0
);
slot_fep
(
UE
,
0
,
0
,
0
,
0
,
0
);
}
//UE->mode != loop_through_memory
}
//UE->mode != loop_through_memory
...
@@ -849,8 +851,8 @@ void *UE_thread(void *arg) {
...
@@ -849,8 +851,8 @@ void *UE_thread(void *arg) {
if
(
UE
->
mode
!=
loop_through_memory
)
{
if
(
UE
->
mode
!=
loop_through_memory
)
{
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
rxp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
rxdata
[
i
][
UE
->
frame_parms
.
ofdm_symbol_size
+
rxp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
rxdata
[
i
][
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
+
UE
->
frame_parms
.
nb_prefix_samples0
+
sub_frame
*
UE
->
frame_parms
.
samples_per_tti
];
sub_frame
*
UE
->
frame_parms
.
samples_per_tti
];
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_tx
;
i
++
)
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_tx
;
i
++
)
txp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
txdata
[
i
][((
sub_frame
+
2
)
%
10
)
*
UE
->
frame_parms
.
samples_per_tti
];
txp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
txdata
[
i
][((
sub_frame
+
2
)
%
10
)
*
UE
->
frame_parms
.
samples_per_tti
];
...
@@ -859,20 +861,28 @@ void *UE_thread(void *arg) {
...
@@ -859,20 +861,28 @@ void *UE_thread(void *arg) {
readBlockSize
=
UE
->
frame_parms
.
samples_per_tti
;
readBlockSize
=
UE
->
frame_parms
.
samples_per_tti
;
writeBlockSize
=
UE
->
frame_parms
.
samples_per_tti
;
writeBlockSize
=
UE
->
frame_parms
.
samples_per_tti
;
}
else
{
}
else
{
int
rx_off_diff
;
static
int
rx_correction_timer
=
5
;
if
(
UE
->
rx_offset
<
5
*
UE
->
frame_parms
.
samples_per_tti
)
static
int
rx_off_diff
=
0
;
rx_off_diff
=
-
UE
->
rx_offset
;
if
((
UE
->
rx_offset
<
(
5
*
UE
->
frame_parms
.
samples_per_tti
))
&&
else
// moving to the left so drop rx_off_diff samples
(
UE
->
rx_offset
>
0
)
&&
rx_off_diff
=
10
*
UE
->
frame_parms
.
samples_per_tti
-
RX_OFF_MIN
-
UE
->
rx_offset
;
(
rx_correction_timer
==
0
))
{
cumulated_shift
+=
rx_off_diff
;
rx_off_diff
=
-
1
;
if
(
rx_off_diff
>
10
)
LOG_D
(
PHY
,
"AbsSubframe %d.%d UE->rx_offset %d > %d, diff %d
\n
"
,
LOG_E
(
PHY
,
"HUGE shift %d, cumul %d
\n
"
,
rx_off_diff
,
cumulated_shift
);
proc
->
frame_rx
,
proc
->
subframe_rx
,
UE
->
rx_offset
,
0
,
rx_off_diff
);
static
__thread
int
printed_cumul
=
0
;
rx_correction_timer
=
5
;
if
(
abs
(
cumulated_shift
/
1000
)
>
printed_cumul
)
{
}
else
if
((
UE
->
rx_offset
>
(
5
*
UE
->
frame_parms
.
samples_per_tti
))
&&
LOG_W
(
PHY
,
"Shifted for 1000 samples: cumul %d
\n
"
,
cumulated_shift
);
(
UE
->
rx_offset
<
((
10
*
UE
->
frame_parms
.
samples_per_tti
)))
&&
printed_cumul
=
abs
(
cumulated_shift
/
1000
);
(
rx_correction_timer
==
0
))
{
// moving to the left so drop rx_off_diff samples
rx_off_diff
=
1
;
LOG_D
(
PHY
,
"AbsSubframe %d.%d UE->rx_offset %d < %d, diff %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
UE
->
rx_offset
,
10
*
UE
->
frame_parms
.
samples_per_tti
,
rx_off_diff
);
rx_correction_timer
=
5
;
}
}
if
(
rx_correction_timer
>
0
)
rx_correction_timer
--
;
UE
->
rx_offset_diff
=
rx_off_diff
;
LOG_D
(
PHY
,
"SET rx_off_diff to %d
\n
"
,
UE
->
rx_offset_diff
);
rx_off_diff
=
0
;
readBlockSize
=
UE
->
frame_parms
.
samples_per_tti
-
readBlockSize
=
UE
->
frame_parms
.
samples_per_tti
-
UE
->
frame_parms
.
ofdm_symbol_size
-
UE
->
frame_parms
.
ofdm_symbol_size
-
UE
->
frame_parms
.
nb_prefix_samples0
;
UE
->
frame_parms
.
nb_prefix_samples0
;
...
@@ -935,30 +945,6 @@ void *UE_thread(void *arg) {
...
@@ -935,30 +945,6 @@ void *UE_thread(void *arg) {
printf
(
"Processing subframe %d"
,
proc
->
subframe_rx
);
printf
(
"Processing subframe %d"
,
proc
->
subframe_rx
);
getchar
();
getchar
();
}
}
/*
}// for sf=0..10
uint8_t proc_select = 9&1;
UE_rxtx_proc_t *proc = &UE->proc.proc_rxtx[proc_select];
if ((UE->rx_offset<(5*UE->frame_parms.samples_per_tti)) &&
(UE->rx_offset > 0) &&
(rx_correction_timer == 0)) {
rx_off_diff = -1 ;
LOG_D(PHY,"AbsSubframe %d.%d UE->rx_offset %d > %d, diff %d\n",proc->frame_rx,proc->subframe_rx,UE->rx_offset,0,rx_off_diff);
rx_correction_timer = 5;
} else if ((UE->rx_offset>(5*UE->frame_parms.samples_per_tti)) &&
(UE->rx_offset < ((10*UE->frame_parms.samples_per_tti))) &&
(rx_correction_timer == 0)) { // moving to the left so drop rx_off_diff samples
rx_off_diff = 1;
LOG_D(PHY,"AbsSubframe %d.%d UE->rx_offset %d < %d, diff %d\n",proc->frame_rx,proc->subframe_rx,UE->rx_offset,10*UE->frame_parms.samples_per_tti,rx_off_diff);
rx_correction_timer = 5;
}
if (rx_correction_timer>0)
rx_correction_timer--;
*/
}
// start_rx_stream==1
}
// start_rx_stream==1
}
// UE->is_synchronized==1
}
// UE->is_synchronized==1
...
@@ -974,14 +960,13 @@ void *UE_thread(void *arg) {
...
@@ -974,14 +960,13 @@ void *UE_thread(void *arg) {
* - UE_thread_synch
* - UE_thread_synch
* and the locking between them.
* and the locking between them.
*/
*/
void
init_UE_threads
(
int
inst
)
{
void
init_UE_threads
(
PHY_VARS_UE
*
UE
)
{
PHY_VARS_UE
*
UE
;
UE
=
PHY_vars_UE_g
[
inst
][
0
];
pthread_attr_init
(
&
UE
->
proc
.
attr_ue
);
pthread_attr_init
(
&
UE
->
proc
.
attr_ue
);
pthread_attr_setstacksize
(
&
UE
->
proc
.
attr_ue
,
8192
);
//5*PTHREAD_STACK_MIN);
pthread_attr_setstacksize
(
&
UE
->
proc
.
attr_ue
,
8192
);
//5*PTHREAD_STACK_MIN);
pthread_mutex_init
(
&
UE
->
proc
.
mutex_synch
,
NULL
);
pthread_cond_init
(
&
UE
->
proc
.
cond_synch
,
NULL
);
// the threads are not yet active, therefore access is allowed without locking
// the threads are not yet active, therefore access is allowed without locking
int
nb_threads
=
2
;
int
nb_threads
=
2
;
...
@@ -992,8 +977,6 @@ void init_UE_threads(int inst) {
...
@@ -992,8 +977,6 @@ void init_UE_threads(int inst) {
UE
->
proc
.
proc_rxtx
[
i
].
sub_frame_step
=
nb_threads
;
UE
->
proc
.
proc_rxtx
[
i
].
sub_frame_step
=
nb_threads
;
pthread_create
(
&
UE
->
proc
.
proc_rxtx
[
i
].
pthread_rxtx
,
NULL
,
UE_thread_rxn_txnp4
,(
void
*
)
&
UE
->
proc
.
proc_rxtx
[
i
]);
pthread_create
(
&
UE
->
proc
.
proc_rxtx
[
i
].
pthread_rxtx
,
NULL
,
UE_thread_rxn_txnp4
,(
void
*
)
&
UE
->
proc
.
proc_rxtx
[
i
]);
}
}
pthread_mutex_init
(
&
UE
->
proc
.
mutex_synch
,
NULL
);
pthread_cond_init
(
&
UE
->
proc
.
cond_synch
,
NULL
);
pthread_create
(
&
UE
->
proc
.
pthread_synch
,
NULL
,
UE_thread_synch
,(
void
*
)
UE
);
pthread_create
(
&
UE
->
proc
.
pthread_synch
,
NULL
,
UE_thread_synch
,(
void
*
)
UE
);
}
}
...
...
This diff is collapsed.
Click to expand it.
targets/SIMU/USER/oaisim_functions.c
View file @
51b23b40
...
@@ -450,6 +450,8 @@ void get_simulation_options(int argc, char *argv[])
...
@@ -450,6 +450,8 @@ void get_simulation_options(int argc, char *argv[])
case
'a'
:
case
'a'
:
abstraction_flag
=
1
;
abstraction_flag
=
1
;
printf
(
"FATAL: -a flag not functional for the moment.
\n
We are working on fixing the abstraction mode.
\n
"
);
exit
(
1
);
break
;
break
;
case
'A'
:
case
'A'
:
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment