aboutsummaryrefslogtreecommitdiffstats
path: root/CommonLibs/trx_vty.h
diff options
context:
space:
mode:
Diffstat (limited to 'CommonLibs/trx_vty.h')
-rw-r--r--CommonLibs/trx_vty.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/CommonLibs/trx_vty.h b/CommonLibs/trx_vty.h
index 74af31b..c921722 100644
--- a/CommonLibs/trx_vty.h
+++ b/CommonLibs/trx_vty.h
@@ -2,12 +2,67 @@
#include <osmocom/vty/command.h>
+#include "config_defs.h"
+
extern struct vty_app_info g_vty_info;
+#define TRX_CHAN_MAX 8
+
+/* 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;
+ bool rtsc_set;
+ unsigned int rach_delay;
+ bool rach_delay_set;
+ enum ReferenceType clock_ref;
+ enum FillerType filler;
+ bool multi_arfcn;
+ double offset;
+ double rssi_offset;
+ bool swap_channels;
+ bool egprs;
+ unsigned int sched_rr;
+ 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);