This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/19176 ) Change subject: encoding: Encode TA as unsigned and check validty against GSM48_TA_INVALID ...................................................................... encoding: Encode TA as unsigned and check validty against GSM48_TA_INVALID According to 3GPP TS 44.018 sec 10.5.2.40, Timing Advance value is 8 bit and range is 0-63 (0-219 on GSM400). unsigned value (uint8_t) is used everywhere else, so avoid using a signed one here, and simply check for GSM48_TA_INVALID here.ch we use everywhere else to initialize when the value is not known. Ideally we should check for value based on band. Change-Id: I82b13561d0fe5ebafb5c3a8b9a501045c29809bc --- M src/encoding.cpp 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/76/19176/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 89cc5f2..92944f0 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -142,9 +142,9 @@ } /* { 0 | 1 < TIMING_ADVANCE_VALUE : bit (6) > } */ -static inline void write_ta(bitvec *dest, unsigned& wp, int8_t ta) +static inline void write_ta(bitvec *dest, unsigned& wp, uint8_t ta) { - if (ta < 0) /* No TIMING_ADVANCE_VALUE: */ + if (ta >= GSM48_TA_INVALID) /* No TIMING_ADVANCE_VALUE: */ bitvec_write_field(dest, &wp, 0, 1); else { /* TIMING_ADVANCE_VALUE: */ bitvec_write_field(dest, &wp, 1, 1); @@ -174,7 +174,7 @@ < TIMING_ADVANCE_TIMESLOT_NUMBER : bit (3) > } */ static inline void write_ta_ie(bitvec *dest, unsigned& wp, - int8_t ta, int8_t tai, uint8_t ts) + uint8_t ta, int8_t tai, uint8_t ts) { write_ta(dest, wp, ta); if (write_tai(dest, wp, tai)) /* TIMING_ADVANCE_TIMESLOT_NUMBER: */ @@ -580,7 +580,7 @@ bitvec_write_field(dest, &wp,0x0,1); // Message escape bitvec_write_field(dest, &wp, mcs_chan_code(tbf->current_cs()), 2); // CHANNEL_CODING_COMMAND bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING - write_ta_ie(dest, wp,tbf->ta(), ta_idx, ta_ts); + write_ta_ie(dest, wp, tbf->ta(), ta_idx, ta_ts); } else { /* EPGRS */ bitvec_write_field(dest, &wp,0x1,1); // Message escape bitvec_write_field(dest, &wp,0x0,2); // EGPRS message contents @@ -594,7 +594,7 @@ bitvec_write_field(dest, &wp,0x0,1); // No ARAC RETRANSMISSION REQUEST bitvec_write_field(dest, &wp,0x1,1); // TLLI_BLOCK_CHANNEL_CODING bitvec_write_field(dest, &wp,0x0,1); // No BEP_PERIOD2 - write_ta_ie(dest, wp,tbf->ta(), ta_idx, ta_ts); + write_ta_ie(dest, wp, tbf->ta(), ta_idx, ta_ts); bitvec_write_field(dest, &wp,0x0,1); // No Packet Extended Timing Advance } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/19176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I82b13561d0fe5ebafb5c3a8b9a501045c29809bc Gerrit-Change-Number: 19176 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200707/55a3ce92/attachment.htm>