diff options
author | Max <msuraev@sysmocom.de> | 2018-01-31 15:22:36 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2018-02-27 22:27:53 +0100 |
commit | 74c9d137df3955738d17a8b67c5b2db0b94d4148 (patch) | |
tree | 3722bf8cac4c409e67ebb422eb104ac96287c862 /src/mslot_class.c | |
parent | 6b1eca5f59d46d19009658cc90aac9fe23cc8b1e (diff) |
Simplify TS alloc: separate capacity computation
Move TRX capacity computation into separate function and document it.
Change-Id: Ifd88fc7ff818ea2a041eae61c5d457926a0df0f2
Related: OS#2282
Diffstat (limited to 'src/mslot_class.c')
-rw-r--r-- | src/mslot_class.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mslot_class.c b/src/mslot_class.c index 1c79a214..87e37ca1 100644 --- a/src/mslot_class.c +++ b/src/mslot_class.c @@ -212,3 +212,19 @@ void mslot_fill_rx_mask(uint8_t mslot_class, uint8_t num_tx, uint8_t *rx_mask) rx_mask[MASK_TT] = (rx_mask[MASK_TT] << 3) | (rx_mask[MASK_TT] >> 5); rx_mask[MASK_TR] = (rx_mask[MASK_TR] << 3) | (rx_mask[MASK_TR] >> 5); } + +/* look for USF, don't use USF=7 */ +int8_t find_free_usf(uint8_t usf_map) +{ + uint8_t usf; + + if (usf_map == (1 << 7) - 1) + return -1; + + for (usf = 0; usf < 7; usf++) { + if (!(usf_map & (1 << usf))) + return usf; + } + + return -1; +} |