Merged in merlin17/nuttx/ieee802154 (pull request #351)
wireless/ieee802154: Removes msdu_length from meta-data since it is intrinsically in the IOB Approved-by: Gregory Nutt <gnutt@nuttx.org>
This commit is contained in:
commit
88fb514b42
@ -78,6 +78,7 @@ struct mac802154dev_txframe_s
|
|||||||
{
|
{
|
||||||
struct ieee802154_frame_meta_s meta;
|
struct ieee802154_frame_meta_s meta;
|
||||||
FAR uint8_t *payload;
|
FAR uint8_t *payload;
|
||||||
|
uint16_t length;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* CONFIG_WIRELESS_IEEE802154 */
|
#endif /* CONFIG_WIRELESS_IEEE802154 */
|
||||||
|
@ -585,15 +585,6 @@ struct ieee802154_frame_meta_s
|
|||||||
|
|
||||||
uint8_t msdu_handle; /* Handle assoc. with MSDU */
|
uint8_t msdu_handle; /* Handle assoc. with MSDU */
|
||||||
|
|
||||||
/* Number of bytes contained in the MAC Service Data Unit (MSDU)
|
|
||||||
* to be transmitted by the MAC sublayer entity
|
|
||||||
* Note: This could be a uint8_t but if anyone ever wants to use
|
|
||||||
* non-standard frame lengths, they may want a length larger than
|
|
||||||
* a uint8_t.
|
|
||||||
*/
|
|
||||||
|
|
||||||
uint16_t msdu_length;
|
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
uint8_t ack_tx : 1; /* Acknowledge TX? */
|
uint8_t ack_tx : 1; /* Acknowledge TX? */
|
||||||
|
@ -1078,7 +1078,7 @@ int mac802154_req_data(MACHANDLE mac,
|
|||||||
* sublayer will set the Frame Version to one. [1] pg. 118.
|
* sublayer will set the Frame Version to one. [1] pg. 118.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (meta->msdu_length > IEEE802154_MAX_SAFE_MAC_PAYLOAD_SIZE)
|
if ((frame->io_len - frame->io_offset) > IEEE802154_MAX_SAFE_MAC_PAYLOAD_SIZE)
|
||||||
{
|
{
|
||||||
*frame_ctrl |= IEEE802154_FRAMECTRL_VERSION;
|
*frame_ctrl |= IEEE802154_FRAMECTRL_VERSION;
|
||||||
}
|
}
|
||||||
|
@ -449,9 +449,9 @@ static ssize_t mac802154dev_write(FAR struct file *filep,
|
|||||||
iob->io_offset = ret;
|
iob->io_offset = ret;
|
||||||
iob->io_len = iob->io_offset;
|
iob->io_len = iob->io_offset;
|
||||||
|
|
||||||
memcpy(&iob->io_data[iob->io_offset], tx->payload, tx->meta.msdu_length);
|
memcpy(&iob->io_data[iob->io_offset], tx->payload, tx->length);
|
||||||
|
|
||||||
iob->io_len += tx->meta.msdu_length;
|
iob->io_len += tx->length;
|
||||||
|
|
||||||
/* If this is a blocking operation, we need to setup a wait struct so we
|
/* If this is a blocking operation, we need to setup a wait struct so we
|
||||||
* can unblock when the packet transmission has finished. If this is a
|
* can unblock when the packet transmission has finished. If this is a
|
||||||
|
Loading…
Reference in New Issue
Block a user