nr-softmodem.h 3.61 KB
Newer Older
laurent's avatar
laurent committed
1 2 3
#ifndef NR_SOFTMODEM_H
#define NR_SOFTMODEM_H

4
#include <executables/nr-softmodem-common.h>
laurent's avatar
laurent committed
5 6 7

#include "PHY/defs_gNB.h"

Cedric Roux's avatar
Cedric Roux committed
8
#define DEFAULT_DLF 2680000000
laurent's avatar
laurent committed
9 10 11 12 13

/***************************************************************************************************************************************/
/* command line options definitions, CMDLINE_XXXX_DESC macros are used to initialize paramdef_t arrays which are then used as argument
   when calling config_get or config_getlist functions                                                                                 */

14 15 16 17
/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                            command line parameters common to eNodeB and UE                                                                           */
/*   optname                helpstr                 paramflags        XXXptr                              defXXXval                   type         numelt               */
/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
18 19 20 21 22 23 24 25 26 27 28 29 30 31
// clang-format off
#define CMDLINE_PARAMS_DESC_GNB { \
  {"m" ,                    CONFIG_HLP_DLMCS_PHYTEST,  0,                .uptr=&target_dl_mcs,                .defintval=0,                     TYPE_UINT,   0},        \
  {"l" ,                    CONFIG_HLP_DLNL_PHYTEST,   0,                .uptr=&target_dl_Nl,                 .defintval=0,                     TYPE_UINT,   0},        \
  {"L" ,                    CONFIG_HLP_ULNL_PHYTEST,   0,                .uptr=&target_ul_Nl,                 .defintval=0,                     TYPE_UINT,   0},        \
  {"t" ,                    CONFIG_HLP_ULMCS_PHYTEST,  0,                .uptr=&target_ul_mcs,                .defintval=0,                     TYPE_UINT,   0},        \
  {"M" ,                    CONFIG_HLP_DLBW_PHYTEST,   0,                .uptr=&target_dl_bw,                 .defintval=0,                     TYPE_UINT,   0},        \
  {"T" ,                    CONFIG_HLP_ULBW_PHYTEST,   0,                .uptr=&target_ul_bw,                 .defintval=0,                     TYPE_UINT,   0},        \
  {"D" ,                    CONFIG_HLP_DLBM_PHYTEST,   0,                .u64ptr=&dlsch_slot_bitmap,          .defintval=0,                     TYPE_UINT64, 0},        \
  {"U" ,                    CONFIG_HLP_ULBM_PHYTEST,   0,                .u64ptr=&ulsch_slot_bitmap,          .defintval=0,                     TYPE_UINT64, 0},        \
  {"usrp-tx-thread-config", CONFIG_HLP_USRP_THREAD,    0,                .iptr=&usrp_tx_thread,               .defstrval=0,                     TYPE_INT,    0},        \
  {"uecap_file",            CONFIG_HLP_UECAP_FILE,     0,                .strptr=&uecap_file,                 .defstrval="./uecap_ports1.xml",  TYPE_STRING, 0},        \
}
// clang-format on
laurent's avatar
laurent committed
32

33
extern uint32_t target_dl_mcs;
34
extern uint32_t target_dl_Nl;
35
extern uint32_t target_ul_Nl;
36 37 38 39 40
extern uint32_t target_ul_mcs;
extern uint32_t target_dl_bw;
extern uint32_t target_ul_bw;
extern uint64_t dlsch_slot_bitmap;
extern uint64_t ulsch_slot_bitmap;
41
extern char *uecap_file;
laurent's avatar
laurent committed
42 43

// In nr-gnb.c
Guido Casati's avatar
Guido Casati committed
44
extern void init_gNB();
laurent's avatar
laurent committed
45 46 47
extern void stop_gNB(int);

// In nr-ru.c
48
extern void init_NR_RU(configmodule_interface_t *cfg, char *);
laurent's avatar
laurent committed
49
extern void init_RU_proc(RU_t *ru);
50
extern void start_NR_RU(void);
laurent's avatar
laurent committed
51
extern void stop_RU(int nb_ru);
52
extern void kill_NR_RU_proc(int inst);
laurent's avatar
laurent committed
53 54
extern void set_function_spec_param(RU_t *ru);

55
void init_eNB_afterRU(void);
laurent's avatar
laurent committed
56

57
void init_pdcp(void);
laurent's avatar
laurent committed
58 59

#endif