diff options
author | Sebastian Stumpf <sebastian.stumpf87@googlemail.com> | 2017-02-28 16:36:36 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-07-13 21:35:33 +0200 |
commit | 6feae225eb2a55577a80204153995aabcfd59b77 (patch) | |
tree | ee2232359efd0b3e92bf2c4ecdd7bb66e217ccfa /src | |
parent | 3cda4ff532d8c4c794c6d111d1a57691b744722e (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.c | 8 |
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); |