aboutsummaryrefslogtreecommitdiffstats
path: root/src/mslot_class.h
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2018-01-23 20:58:49 +0100
committerHarald Welte <laforge@gnumonks.org>2018-01-25 16:12:58 +0000
commit01bd0cc42ff067cd5eb8c6613418713cfccfd3eb (patch)
tree22057460afaa8806c671af811ed9c831687aafa5 /src/mslot_class.h
parent9f46071409d1ac17a4be5442185f88c4829c310c (diff)
Add multislot classes from latest spec
The table B.1 is copy-pasted from 3GPP TS 45.002 and reformatted via Emacs macros into C struct to avoid typos. The test output expanded accordingly. The allocation test expectations and output are adjusted accordingly. Note: classes 35-45 which need TA offset are not properly supported yet. This can be extended once we have such devices available for tests. Change-Id: I1ef2eb99c517f25e7d1e71b985a3e0eb3879eb2c Related: OS#2282
Diffstat (limited to 'src/mslot_class.h')
-rw-r--r--src/mslot_class.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mslot_class.h b/src/mslot_class.h
index 9e9dfba5..a6366fc1 100644
--- a/src/mslot_class.h
+++ b/src/mslot_class.h
@@ -32,14 +32,15 @@
#define MS_A 254 /* 1 with hopping, 0 without */
#define MS_B 253 /* 1 with hopping, 0 without (change Rx to Tx)*/
#define MS_C 252 /* 1 with hopping, 0 without (change Tx to Rx)*/
+#define MS_TO 251 /* 31 symbol periods (this can be provided by a TA offset, i.e. a minimum TA value) */
#define DEFAULT_MSLOT_CLASS 12
/* multislot class selection routines */
uint8_t mslot_class_get_ta(uint8_t ms_cl);
uint8_t mslot_class_get_tb(uint8_t ms_cl);
-uint8_t mslot_class_get_ra(uint8_t ms_cl);
-uint8_t mslot_class_get_rb(uint8_t ms_cl);
+uint8_t mslot_class_get_ra(uint8_t ms_cl, uint8_t ta);
+uint8_t mslot_class_get_rb(uint8_t ms_cl, uint8_t ta);
uint8_t mslot_class_get_tx(uint8_t ms_cl);
uint8_t mslot_class_get_rx(uint8_t ms_cl);
uint8_t mslot_class_get_sum(uint8_t ms_cl);