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-ttcn3-hacks/+/21124 )
Change subject: RLCMAC_EncDec: Implement decoding of Egprs Dl Data block HeaderType 2 and 1
......................................................................
RLCMAC_EncDec: Implement decoding of Egprs Dl Data block HeaderType 2 and 1
Change-Id: I3b8199711e08bc128821e02c626ded1bc6aa30d7
---
M library/RLCMAC_EncDec.cc
1 file changed, 41 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/21124/1
diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc
index 16291de..ac60b37 100644
--- a/library/RLCMAC_EncDec.cc
+++ b/library/RLCMAC_EncDec.cc
@@ -207,17 +207,23 @@
return CodingScheme::MCS__3;
case 49:
return CodingScheme::MCS__4;
+ case 60: /* fall through */
case 61:
return CodingScheme::MCS__5;
+ case 78: /* fall through */
case 79:
return CodingScheme::MCS__6;
+ case 118: /* fall through */
case 119:
return CodingScheme::MCS__7;
- case 142:
+ case 142: /* fall through */
+ case 143:
return CodingScheme::MCS__8;
+ case 154: /* fall through */
case 155:
return CodingScheme::MCS__9;
default:
+ fprintf(stderr, "ERROR: Unknown CodingSCheme for payload_len=%zu\n", payload_len);
return CodingScheme::CS__1;
}
}
@@ -520,20 +526,52 @@
static
EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type1(const OCTETSTRING& stream)
{
+ TTCN_Buffer ttcn_buffer(stream);
EgprsDlMacDataHeader ret_val;
+ const struct gprs_rlc_dl_header_egprs_1 *egprs1;
+ uint8_t tmp;
- fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);
+ egprs1 = static_cast<const struct gprs_rlc_dl_header_egprs_1 *>
+ ((const void *)ttcn_buffer.get_data());
+ ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__1;
+ ret_val.tfi() = egprs1->tfi_lo << 1 | egprs1->tfi_hi << 0;
+ ret_val.rrbp() = egprs1->rrbp;
+ tmp = egprs1->es_p;
+ ret_val.esp() = BITSTRING(2, &tmp);
+ ret_val.usf() = egprs1->usf;
+ ret_val.bsn1() = egprs1->bsn1_lo << 10 | egprs1->bsn1_mid << 2 | egprs1->bsn1_hi;
+ ret_val.bsn2__offset() = egprs1->bsn2_lo << 7 | egprs1->bsn2_hi;
+ ret_val.pr() = egprs1->pr;
+ ret_val.cps() = egprs1->cps;
+
+ ttcn_buffer.increase_pos(sizeof(*egprs1));
return ret_val;
}
static
EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type2(const OCTETSTRING& stream)
{
+ TTCN_Buffer ttcn_buffer(stream);
EgprsDlMacDataHeader ret_val;
+ const struct gprs_rlc_dl_header_egprs_2 *egprs2;
+ uint8_t tmp;
- fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);
+ egprs2 = static_cast<const struct gprs_rlc_dl_header_egprs_2 *>
+ ((const void *)ttcn_buffer.get_data());
+ ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__2;
+ ret_val.tfi() = egprs2->tfi_lo << 1 | egprs2->tfi_hi << 0;
+ ret_val.rrbp() = egprs2->rrbp;
+ tmp = egprs2->es_p;
+ ret_val.esp() = BITSTRING(2, &tmp);
+ ret_val.usf() = egprs2->usf;
+ ret_val.bsn1() = egprs2->bsn1_lo << 10 | egprs2->bsn1_mid << 2 | egprs2->bsn1_hi;
+ ret_val.bsn2__offset() = 0; /*TODO: mark optional and not set ? */
+ ret_val.pr() = egprs2->pr;
+ ret_val.cps() = egprs2->cps;
+
+ ttcn_buffer.increase_pos(sizeof(*egprs2));
return ret_val;
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21124
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I3b8199711e08bc128821e02c626ded1bc6aa30d7
Gerrit-Change-Number: 21124
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/20201112/3214cceb/attachment.htm>