Allow 32 bit PDU_Length in RX_DATA.indication.

Changes pack/unpack procedure to expect pdu_length of 32 bits instead of 16.
This change was first added for compatibility with Aerial L1.

Add utility functions related to RX_DATA.indication
Extra utility function to calculate allocated memory added.
This commit is contained in:
Rúben Soares Silva
2024-11-29 09:15:03 +01:00
committed by Robert Schmidt
parent 1f6465c00a
commit 3ec9006f11
3 changed files with 103 additions and 5 deletions
+9 -5
View File
@@ -2475,13 +2475,14 @@ uint8_t pack_nr_timing_info(void *msg, uint8_t **ppWritePackedMsg, uint8_t *end,
static uint8_t pack_nr_rx_data_indication_body(nfapi_nr_rx_data_pdu_t *value, uint8_t **ppWritePackedMsg, uint8_t *end)
{
if (!(push32(value->handle, ppWritePackedMsg, end)
if(!(push32(value->handle, ppWritePackedMsg, end)
&& push16(value->rnti, ppWritePackedMsg, end)
&& push8(value->harq_id, ppWritePackedMsg, end)
&& push32(value->pdu_length, ppWritePackedMsg, end)
&& push8(value->ul_cqi, ppWritePackedMsg, end)
&& push16(value->timing_advance, ppWritePackedMsg, end)
&& push16(value->rssi, ppWritePackedMsg, end)))
&& push16(value->rssi, ppWritePackedMsg, end)
))
return 0;
if (pusharray8(value->pdu, value->pdu_length, value->pdu_length, ppWritePackedMsg, end) == 0)
@@ -4689,9 +4690,12 @@ static uint8_t unpack_nr_rx_data_indication_body(nfapi_nr_rx_data_pdu_t *value,
uint8_t *end,
nfapi_p7_codec_config_t *config)
{
if (!(pull32(ppReadPackedMsg, &value->handle, end) && pull16(ppReadPackedMsg, &value->rnti, end)
&& pull8(ppReadPackedMsg, &value->harq_id, end) && pull32(ppReadPackedMsg, &value->pdu_length, end)
&& pull8(ppReadPackedMsg, &value->ul_cqi, end) && pull16(ppReadPackedMsg, &value->timing_advance, end)
if (!(pull32(ppReadPackedMsg, &value->handle, end)
&& pull16(ppReadPackedMsg, &value->rnti, end)
&& pull8(ppReadPackedMsg, &value->harq_id, end)
&& pull32(ppReadPackedMsg, &value->pdu_length, end)
&& pull8(ppReadPackedMsg, &value->ul_cqi, end)
&& pull16(ppReadPackedMsg, &value->timing_advance, end)
&& pull16(ppReadPackedMsg, &value->rssi, end)))
return 0;