<p>Harald Welte has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/10982">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">GSM_Types: Add CBCH_Block definition of TS 04.12<br><br>Change-Id: Ib034aba11a0219959c4224238e559ba36e95cacf<br>---<br>M library/GSM_Types.ttcn<br>M library/General_Types.ttcn<br>2 files changed, 43 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/10982/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn</span><br><span>index 53208e5..88be975 100644</span><br><span>--- a/library/GSM_Types.ttcn</span><br><span>+++ b/library/GSM_Types.ttcn</span><br><span>@@ -207,6 +207,48 @@</span><br><span>              }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* TS 04.12 Section 3.3.1 Block type */</span><br><span style="color: hsl(120, 100%, 40%);">+type record CBCH_BlockType {</span><br><span style="color: hsl(120, 100%, 40%);">+        BIT1    spare,</span><br><span style="color: hsl(120, 100%, 40%);">+        BIT2    lpd,</span><br><span style="color: hsl(120, 100%, 40%);">+  boolean last_block,</span><br><span style="color: hsl(120, 100%, 40%);">+   uint4_t seq_nr</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) CBCH_BlockType ts_CBCH_BlockType(template (value) uint4_t seq_nr, template (value) boolean last_block) := {</span><br><span style="color: hsl(120, 100%, 40%);">+      spare := '0'B,</span><br><span style="color: hsl(120, 100%, 40%);">+        lpd := '01'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ last_block := last_block,</span><br><span style="color: hsl(120, 100%, 40%);">+     seq_nr := seq_nr</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+template CBCH_BlockType tr_CBCH_BlockType(template uint4_t seq_nr := ?, template boolean last_block := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+  spare := '0'B,</span><br><span style="color: hsl(120, 100%, 40%);">+        lpd := '01'B,</span><br><span style="color: hsl(120, 100%, 40%);">+ last_block := last_block,</span><br><span style="color: hsl(120, 100%, 40%);">+     seq_nr := seq_nr</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* TS 04.12 Section 3.3 */</span><br><span style="color: hsl(120, 100%, 40%);">+type record CBCH_Block {</span><br><span style="color: hsl(120, 100%, 40%);">+  CBCH_BlockType  block_type,</span><br><span style="color: hsl(120, 100%, 40%);">+   OCT22           payload</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) CBCH_Block ts_CBCH_Block(template (value) uint4_t seq_nr, template (value) boolean last_block, template (value) OCT22 payload) := {</span><br><span style="color: hsl(120, 100%, 40%);">+     block_type := ts_CBCH_BlockType(seq_nr, last_block),</span><br><span style="color: hsl(120, 100%, 40%);">+  payload := payload</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+template CBCH_Block tr_CBCH_Block(template uint4_t seq_nr := ?, template boolean last_block := ?, template OCT22 payload := ?) := {</span><br><span style="color: hsl(120, 100%, 40%);">+   block_type := tr_CBCH_BlockType(seq_nr, last_block),</span><br><span style="color: hsl(120, 100%, 40%);">+  payload := payload</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+external function enc_CBCH_Block(in CBCH_Block msg) return octetstring</span><br><span style="color: hsl(120, 100%, 40%);">+    with { extension "prototype(convert) encode(RAW)" };</span><br><span style="color: hsl(120, 100%, 40%);">+external function dec_CBCH_Block(in octetstring stream) return CBCH_Block</span><br><span style="color: hsl(120, 100%, 40%);">+     with { extension "prototype(convert) decode(RAW)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Convert RF signal level in dBm to RxLev (TS 45.008 Chapter 8.1.4) */</span><br><span> function dbm2rxlev(integer dbm) return uint6_t {</span><br><span>    var integer rxlev := dbm + 110;</span><br><span>diff --git a/library/General_Types.ttcn b/library/General_Types.ttcn</span><br><span>index 83b2a42..612d5c7 100644</span><br><span>--- a/library/General_Types.ttcn</span><br><span>+++ b/library/General_Types.ttcn</span><br><span>@@ -233,6 +233,7 @@</span><br><span>   type octetstring OCT18 length(18) with { variant "FIELDLENGTH(18)" };</span><br><span>   type octetstring OCT19 length(19) with { variant "FIELDLENGTH(19)" };</span><br><span>   type octetstring OCT20 length(20) with { variant "FIELDLENGTH(20)" };</span><br><span style="color: hsl(120, 100%, 40%);">+  type octetstring OCT22 length(22) with { variant "FIELDLENGTH(22)" };</span><br><span>   type octetstring OCT32 length(32) with { variant "FIELDLENGTH(32)" };</span><br><span>   type octetstring OCT34 length(34) with { variant "FIELDLENGTH(34)" };</span><br><span>   type octetstring OCT46 length(46) with { variant "FIELDLENGTH(46)" };</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10982">change 10982</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/10982"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ib034aba11a0219959c4224238e559ba36e95cacf </div>
<div style="display:none"> Gerrit-Change-Number: 10982 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>