This commit introduces a 'basic simulator'.
This basic simulator is made of:
- the standard eNB code using a special driver that mimics the USRP driver
- the standard UE code using a special driver that mimics the USRP driver
- no channel simulation
- some special code to deal with faster-than-realtime behaviour of this
basic simulator
It connects one UE to one eNB. It requires an EPC, populated with the
correct configuration for the UE.
This is the initial release and may contain bugs (most probably race
conditions due to the faster-than-realtime behaviour).
To use it, see the documentation at:
targets/ARCH/tcp_bridge/README.tcp_bridge_oai.
It has been tested with 25, 50 and 100 RBs, FDD mode.
(No check at all has been done to know if it could work in TDD mode.)
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
#ifndef _T_defs_H_
|
|
#define _T_defs_H_
|
|
|
|
/* comment (and recompile everything) to not send time in events */
|
|
#define T_SEND_TIME
|
|
|
|
/* maximum number of arguments for the T macro */
|
|
#define T_MAX_ARGS 16
|
|
|
|
/* maximum size of a message - increase if needed */
|
|
#if BASIC_SIMULATOR
|
|
/* let's have 100 RBs functional for the basic simulator */
|
|
# define T_BUFFER_MAX (1024*64*2)
|
|
#else
|
|
# define T_BUFFER_MAX (1024*64)
|
|
#endif
|
|
|
|
/* size of the local cache for messages (must be pow(2,something)) */
|
|
#if BASIC_SIMULATOR
|
|
/* we don't need much space for the basic simulator */
|
|
# define T_CACHE_SIZE 1024
|
|
#else
|
|
# define T_CACHE_SIZE (8192 * 2)
|
|
#endif
|
|
|
|
/* maximum number of bytes a message can contain */
|
|
#ifdef T_SEND_TIME
|
|
# define T_PAYLOAD_MAXSIZE (T_BUFFER_MAX-sizeof(int)-sizeof(struct timespec))
|
|
#else
|
|
# define T_PAYLOAD_MAXSIZE (T_BUFFER_MAX-sizeof(int))
|
|
#endif
|
|
|
|
typedef struct {
|
|
volatile int busy;
|
|
char buffer[T_BUFFER_MAX];
|
|
int length;
|
|
} T_cache_t;
|
|
|
|
#define T_SHM_FILENAME "/T_shm_segment"
|
|
|
|
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
|
|
#define VCD_NUM_FUNCTIONS 187
|
|
|
|
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
|
|
#define VCD_NUM_VARIABLES 131
|
|
|
|
/* first VCD function (to be kept up to date! see in T_messages.txt) */
|
|
#define VCD_FIRST_FUNCTION ((uintptr_t)T_VCD_FUNCTION_RT_SLEEP)
|
|
|
|
/* first VCD variable (to be kept up to date! see in T_messages.txt) */
|
|
#define VCD_FIRST_VARIABLE ((uintptr_t)T_VCD_VARIABLE_FRAME_NUMBER_TX0_ENB)
|
|
|
|
#endif /* _T_defs_H_ */
|