<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/19176">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">encoding: Encode TA as unsigned and check validty against GSM48_TA_INVALID<br><br>According to 3GPP TS 44.018 sec 10.5.2.40, Timing Advance value is 8 bit<br>and range is 0-63 (0-219 on GSM400). unsigned value (uint8_t) is used<br>everywhere else, so avoid using a signed one here, and simply check for<br>GSM48_TA_INVALID here.ch we use everywhere else to initialize when the<br>value is not known. Ideally we should check for value based on band.<br><br>Change-Id: I82b13561d0fe5ebafb5c3a8b9a501045c29809bc<br>---<br>M src/encoding.cpp<br>1 file changed, 5 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/76/19176/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/encoding.cpp b/src/encoding.cpp</span><br><span>index 89cc5f2..92944f0 100644</span><br><span>--- a/src/encoding.cpp</span><br><span>+++ b/src/encoding.cpp</span><br><span>@@ -142,9 +142,9 @@</span><br><span> }</span><br><span> </span><br><span> /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */</span><br><span style="color: hsl(0, 100%, 40%);">-static inline void write_ta(bitvec *dest, unsigned& wp, int8_t ta)</span><br><span style="color: hsl(120, 100%, 40%);">+static inline void write_ta(bitvec *dest, unsigned& wp, uint8_t ta)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-    if (ta < 0) /* No TIMING_ADVANCE_VALUE: */</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ta >= GSM48_TA_INVALID) /* No TIMING_ADVANCE_VALUE: */</span><br><span>                bitvec_write_field(dest, &wp, 0, 1);</span><br><span>     else { /* TIMING_ADVANCE_VALUE: */</span><br><span>           bitvec_write_field(dest, &wp, 1, 1);</span><br><span>@@ -174,7 +174,7 @@</span><br><span>            < TIMING_ADVANCE_TIMESLOT_NUMBER : bit (3) > }</span><br><span>  */</span><br><span> static inline void write_ta_ie(bitvec *dest, unsigned& wp,</span><br><span style="color: hsl(0, 100%, 40%);">-                             int8_t ta, int8_t tai, uint8_t ts)</span><br><span style="color: hsl(120, 100%, 40%);">+                            uint8_t ta, int8_t tai, uint8_t ts)</span><br><span> {</span><br><span>      write_ta(dest, wp, ta);</span><br><span>      if (write_tai(dest, wp, tai)) /* TIMING_ADVANCE_TIMESLOT_NUMBER: */</span><br><span>@@ -580,7 +580,7 @@</span><br><span>            bitvec_write_field(dest, &wp,0x0,1); // Message escape</span><br><span>           bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND</span><br><span>                 bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING</span><br><span style="color: hsl(0, 100%, 40%);">-           write_ta_ie(dest, wp,tbf->ta(), ta_idx, ta_ts);</span><br><span style="color: hsl(120, 100%, 40%);">+            write_ta_ie(dest, wp, tbf->ta(), ta_idx, ta_ts);</span><br><span>  } else { /* EPGRS */</span><br><span>                 bitvec_write_field(dest, &wp,0x1,1); // Message escape</span><br><span>           bitvec_write_field(dest, &wp,0x0,2); // EGPRS message contents</span><br><span>@@ -594,7 +594,7 @@</span><br><span>             bitvec_write_field(dest, &wp,0x0,1); // No ARAC RETRANSMISSION REQUEST</span><br><span>           bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING</span><br><span>                bitvec_write_field(dest, &wp,0x0,1); // No BEP_PERIOD2</span><br><span style="color: hsl(0, 100%, 40%);">-              write_ta_ie(dest, wp,tbf->ta(), ta_idx, ta_ts);</span><br><span style="color: hsl(120, 100%, 40%);">+            write_ta_ie(dest, wp, tbf->ta(), ta_idx, ta_ts);</span><br><span>          bitvec_write_field(dest, &wp,0x0,1); // No Packet Extended Timing Advance</span><br><span>        }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/19176">change 19176</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/c/osmo-pcu/+/19176"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I82b13561d0fe5ebafb5c3a8b9a501045c29809bc </div>
<div style="display:none"> Gerrit-Change-Number: 19176 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>