Skip to content
Snippets Groups Projects
Unverified Commit ab5771bb authored by Peter Kietzmann's avatar Peter Kietzmann Committed by GitHub
Browse files

Merge pull request #9587 from bergzand/pr/kw2xrf/fix_ack_req

kw2xrf: Fix ack flag handling
parents 9421356f b21c4f6f
No related branches found
No related tags found
No related merge requests found
...@@ -103,7 +103,7 @@ static size_t kw2xrf_tx_load(uint8_t *pkt_buf, uint8_t *buf, size_t len, size_t ...@@ -103,7 +103,7 @@ static size_t kw2xrf_tx_load(uint8_t *pkt_buf, uint8_t *buf, size_t len, size_t
static void kw2xrf_tx_exec(kw2xrf_t *dev) static void kw2xrf_tx_exec(kw2xrf_t *dev)
{ {
if ((dev->netdev.flags & KW2XRF_OPT_AUTOACK) && if ((dev->netdev.flags & KW2XRF_OPT_ACK_REQ) &&
(_send_last_fcf & IEEE802154_FCF_ACK_REQ)) { (_send_last_fcf & IEEE802154_FCF_ACK_REQ)) {
kw2xrf_set_sequence(dev, XCVSEQ_TX_RX); kw2xrf_set_sequence(dev, XCVSEQ_TX_RX);
} }
...@@ -275,6 +275,16 @@ int _get(netdev_t *netdev, netopt_t opt, void *value, size_t len) ...@@ -275,6 +275,16 @@ int _get(netdev_t *netdev, netopt_t opt, void *value, size_t len)
*((netopt_state_t *)value) = _get_state(dev); *((netopt_state_t *)value) = _get_state(dev);
return sizeof(netopt_state_t); return sizeof(netopt_state_t);
case NETOPT_AUTOACK:
if (dev->netdev.flags & KW2XRF_OPT_AUTOACK) {
*((netopt_enable_t *)value) = NETOPT_ENABLE;
}
else {
*((netopt_enable_t *)value) = NETOPT_DISABLE;
}
return sizeof(netopt_enable_t);
case NETOPT_PRELOADING: case NETOPT_PRELOADING:
if (dev->netdev.flags & KW2XRF_OPT_PRELOADING) { if (dev->netdev.flags & KW2XRF_OPT_PRELOADING) {
*((netopt_enable_t *)value) = NETOPT_ENABLE; *((netopt_enable_t *)value) = NETOPT_ENABLE;
...@@ -452,6 +462,7 @@ static int _set(netdev_t *netdev, netopt_t opt, const void *value, size_t len) ...@@ -452,6 +462,7 @@ static int _set(netdev_t *netdev, netopt_t opt, const void *value, size_t len)
/* Set up HW generated automatic ACK after Receive */ /* Set up HW generated automatic ACK after Receive */
kw2xrf_set_option(dev, KW2XRF_OPT_AUTOACK, kw2xrf_set_option(dev, KW2XRF_OPT_AUTOACK,
((bool *)value)[0]); ((bool *)value)[0]);
res = sizeof(netopt_enable_t);
break; break;
case NETOPT_ACK_REQ: case NETOPT_ACK_REQ:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment