Other Parts Discussed in Thread: CC2430, TIMAC
I am using TIMAC-1.3.0 on CC2430.
After having sent some data to a peer, one gets a MAC_MCPS_DATA_CNF event, in which the original data sent is mirrored (pDataReq field in macMcpsDataCnf_t).
I observe that the msdu fields of pDataReq seem to be wrong. They do not seem to match the ones which were set by MAC_McpsDataAlloc(), prior to call MAC_McpsDataReq(), and they seem to be shifted by 21 -- i.e. upon reception of the MAC_MCPS_DATA_CNF event, the following workaround allows to retrieve the correct msdu parameters:
pData->dataCnf.pDataReq->msdu.len -= 21;
pData->dataCnf.pDataReq->msdu.p += 21;
It seems that, internally, when sending the data, len is incremented by 21. At the end, rather than performing len -= 21, this is p which is scrolled back. Can anyone explain how to find the msdu in MAC_MCPS_DATA_CNF?