aboutsummaryrefslogtreecommitdiffstats
path: root/GSM48.st
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2012-12-25 10:51:34 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2012-12-25 10:51:34 +0100
commit97e0ffa6a86eda433faf79e9e29705ac54f27d0f (patch)
tree791437c5d40933ef34943a068266cd2e1ce7cee2 /GSM48.st
parentf653a23da50f2a2a7a7f7c89cc9dcdc5aac9cee8 (diff)
gsm: Provide decoding for Handover Reference and ARFCN...
Diffstat (limited to 'GSM48.st')
-rw-r--r--GSM48.st30
1 files changed, 30 insertions, 0 deletions
diff --git a/GSM48.st b/GSM48.st
index 6c20156..db9dd9e 100644
--- a/GSM48.st
+++ b/GSM48.st
@@ -334,6 +334,31 @@ GSM48SimpleData subclass: GSM48ChannelDescription2 [
<gsmName: 'channelDescription2'>
<gsmValueLength: 3>
+
+ channelType [
+ <category: 'accessing'>
+ ^ data first bitShift: -3.
+ ]
+
+ timeSlot [
+ ^ data first bitAnd: 2r111
+ ]
+
+ isH1 [
+ ^ (data second bitAt: 5) = 1
+ ]
+
+ isH0 [
+ ^ (data second bitAt: 5) = 0
+ ]
+
+ arfcn [
+ | low |
+ self isH0 ifFalse: [^self error: 'ARFCN requires H=0'].
+
+ low := data second bitAnd: 2r11.
+ ^ (low bitShift: 8) bitOr: data third.
+ ]
]
GSM48SimpleData subclass: GSM48ChannelMode [
@@ -426,6 +451,11 @@ GSM48SimpleData subclass: GSM48HandoverReference [
<comment: 'I represent a 10.5.2.15 handover reference'>
<gsmName: 'handoverReference'>
<gsmValueLength: 1>
+
+ value [
+ <category: 'accessing'>
+ ^ data first
+ ]
]
GSM48DataHolder subclass: GSM48MultislotAllocation [