Merged in antmerlino/nuttx/mac802154_ackhandling (pull request #619)

mac802154: Adds ackreq flag to TX descriptor for use by radio driver.

The radio layer is responsible for a full "transaction". Because of
differences in radio capabilites, the radio must be responsible for
the handling of acks and retransmissions. This commit simply passes
the ackreq meta-data flag along to the radio.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
This commit is contained in:
Anthony Merlino 2018-03-28 15:50:11 +00:00 committed by Gregory Nutt
parent 62e89e0f8d
commit ec4bb7b990
2 changed files with 2 additions and 0 deletions

View File

@ -84,6 +84,7 @@ struct ieee802154_txdesc_s
enum ieee802154_frametype_e frametype; enum ieee802154_frametype_e frametype;
bool ackreq; /* Are we requesting an ACK? */
bool framepending; /* Did the ACK have the frame pending bit set */ bool framepending; /* Did the ACK have the frame pending bit set */
uint32_t purgetime; /* Time to purge transaction */ uint32_t purgetime; /* Time to purge transaction */
uint8_t retrycount; /* Number of remaining retries. Set to macMaxFrameRetries uint8_t retrycount; /* Number of remaining retries. Set to macMaxFrameRetries

View File

@ -258,6 +258,7 @@ int mac802154_req_data(MACHANDLE mac,
txdesc->conf->handle = meta->handle; txdesc->conf->handle = meta->handle;
txdesc->frame = frame; txdesc->frame = frame;
txdesc->frametype = IEEE802154_FRAME_DATA; txdesc->frametype = IEEE802154_FRAME_DATA;
txdesc->ackreq = meta->flags.ackreq;
/* If the TxOptions parameter specifies that a GTS transmission is required, /* If the TxOptions parameter specifies that a GTS transmission is required,
* the MAC sublayer will determine whether it has a valid GTS as described * the MAC sublayer will determine whether it has a valid GTS as described