73 lines
1.8 KiB
C
73 lines
1.8 KiB
C
#pragma once
|
|
|
|
#include <osmocom/vty/command.h>
|
|
|
|
#include "config_defs.h"
|
|
|
|
extern struct vty_app_info g_vty_info;
|
|
extern const struct value_string filler_names[];
|
|
|
|
/* Maximum number of physical RF channels */
|
|
#define TRX_CHAN_MAX 8
|
|
/* Maximum number of carriers in multi-ARFCN mode */
|
|
#define TRX_MCHAN_MAX 3
|
|
|
|
/* Samples-per-symbol for downlink path
|
|
* 4 - Uses precision modulator (more computation, less distortion)
|
|
* 1 - Uses minimized modulator (less computation, more distortion)
|
|
*
|
|
* Other values are invalid. Receive path (uplink) is always
|
|
* downsampled to 1 sps. Default to 4 sps for all cases.
|
|
*/
|
|
#define DEFAULT_TX_SPS 4
|
|
|
|
/*
|
|
* Samples-per-symbol for uplink (receiver) path
|
|
* Do not modify this value. EDGE configures 4 sps automatically on
|
|
* B200/B210 devices only. Use of 4 sps on the receive path for other
|
|
* configurations is not supported.
|
|
*/
|
|
#define DEFAULT_RX_SPS 1
|
|
|
|
/* Default configuration parameters */
|
|
#define DEFAULT_TRX_PORT 5700
|
|
#define DEFAULT_TRX_IP "127.0.0.1"
|
|
#define DEFAULT_CHANS 1
|
|
|
|
struct trx_ctx;
|
|
|
|
struct trx_chan {
|
|
struct trx_ctx *trx; /* backpointer */
|
|
unsigned int idx; /* channel index */
|
|
char *rx_path;
|
|
char *tx_path;
|
|
};
|
|
|
|
struct trx_ctx {
|
|
struct {
|
|
char *bind_addr;
|
|
char *remote_addr;
|
|
char *dev_args;
|
|
unsigned int base_port;
|
|
unsigned int tx_sps;
|
|
unsigned int rx_sps;
|
|
unsigned int rtsc;
|
|
unsigned int rach_delay;
|
|
enum ReferenceType clock_ref;
|
|
enum FillerType filler;
|
|
bool multi_arfcn;
|
|
double offset;
|
|
double rssi_offset;
|
|
bool swap_channels;
|
|
bool ext_rach;
|
|
bool egprs;
|
|
unsigned int sched_rr;
|
|
unsigned int stack_size;
|
|
unsigned int num_chans;
|
|
struct trx_chan chans[TRX_CHAN_MAX];
|
|
} cfg;
|
|
};
|
|
|
|
int trx_vty_init(struct trx_ctx* trx);
|
|
struct trx_ctx *vty_trx_ctx_alloc(void *talloc_ctx);
|