aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSebastian Stumpf <sebastian.stumpf87@googlemail.com>2017-02-28 16:36:36 +0100
committerHarald Welte <laforge@gnumonks.org>2017-07-13 21:35:33 +0200
commit6feae225eb2a55577a80204153995aabcfd59b77 (patch)
treeee2232359efd0b3e92bf2c4ecdd7bb66e217ccfa /src
parent3cda4ff532d8c4c794c6d111d1a57691b744722e (diff)
VIRT-PHY: Added test option for fast hyperframe repeat.
Frame number will restart at 0 after each superframe (approx. 6.1 sec) if enabled. Can be enabled by preprocessor define. Change-Id: If3adf14df5fcd8daf53363c27b3772c42d7122e9
Diffstat (limited to 'src')
-rw-r--r--src/osmo-bts-virtual/scheduler_virtbts.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c
index df6fbebf..9b52864e 100644
--- a/src/osmo-bts-virtual/scheduler_virtbts.c
+++ b/src/osmo-bts-virtual/scheduler_virtbts.c
@@ -43,6 +43,8 @@
#include "virtual_um.h"
#include "l1_if.h"
+#define MODULO_HYPERFRAME 0
+
static const char *gsmtap_hdr_stringify(const struct gsmtap_hdr *gh)
{
static char buf[256];
@@ -81,7 +83,13 @@ static void tx_to_virt_um(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
else
gsmtap_chantype = chantype_rsl2gsmtap(rsl_chantype, chdesc->link_id); /* the logical channel type */
+#if MODULO_HYPERFRAME
+ /* Restart fn after every superframe (26 * 51 frames) to simulate hyperframe overflow each 6 seconds. */
+ fn %= 26 * 51;
+#endif
+
outmsg = gsmtap_makemsg(arfcn, timeslot, gsmtap_chantype, subslot, fn, signal_dbm, snr, data, data_len);
+
if (outmsg) {
struct phy_instance *pinst = trx_phy_instance(l1t->trx);
struct gsmtap_hdr *gh = (struct gsmtap_hdr *)msgb_data(outmsg);