diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-05-08 15:12:56 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-05-08 16:35:51 +0200 |
commit | 98eb03c391145dad40de6f052fe04d2f03a6fe11 (patch) | |
tree | be1240c197359616fa9c0948281f7c0b8e83509a /src/bts.cpp | |
parent | 9ee90d2323cfba7ab9ee2f6c98520e56391102a0 (diff) |
bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST
In osmo-pcu datatructures, the variables holding multislot classes
simply contain an integer referring to the multislot class number,
instead of coding from 3GPP TS 44.060 Table 11.2.5.3 and Table
11.2.5a.3.
So coding Multislot class 3 is stored as 0x03 in osmo-pcu variables,
while in 3GPP TS 44.060 coding it's coded as 0x02 (N-1).
This allows us using value 0x00 to designate a "yet unknown (EGPRS) Multislot
class".
Hence, we need to add 1 to the decoded value to match our data
structures.
Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd
Diffstat (limited to 'src/bts.cpp')
-rw-r--r-- | src/bts.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bts.cpp b/src/bts.cpp index 8edde232..a43613ed 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -676,7 +676,7 @@ uint32_t BTS::rfn_to_fn(int32_t rfn) static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) - return (ra & 0x3e0) >> 5; + return ((ra & 0x3e0) >> 5) + 1; /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ return 0; |