mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
drivers/at86rf215: don't use netdev events internally
This commit is contained in:
parent
62eb2935c8
commit
140c3afbcc
@ -856,7 +856,7 @@ static void _enable_tx2rx(at86rf215_t *dev)
|
|||||||
at86rf215_reg_write(dev, dev->BBC->RG_AMCS, amcs);
|
at86rf215_reg_write(dev, dev->BBC->RG_AMCS, amcs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _tx_end(at86rf215_t *dev, netdev_event_t event)
|
static void _tx_end(at86rf215_t *dev)
|
||||||
{
|
{
|
||||||
netdev_t *netdev = &dev->netdev.netdev;
|
netdev_t *netdev = &dev->netdev.netdev;
|
||||||
|
|
||||||
@ -868,11 +868,6 @@ static void _tx_end(at86rf215_t *dev, netdev_event_t event)
|
|||||||
|
|
||||||
at86rf215_tx_done(dev);
|
at86rf215_tx_done(dev);
|
||||||
|
|
||||||
if (event == NETDEV_EVENT_TX_NOACK) {
|
|
||||||
/* signal error to confirm_send */
|
|
||||||
dev->tx_frame_len = (int16_t)-EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (netdev->event_callback) {
|
if (netdev->event_callback) {
|
||||||
netdev->event_callback(netdev, NETDEV_EVENT_TX_COMPLETE);
|
netdev->event_callback(netdev, NETDEV_EVENT_TX_COMPLETE);
|
||||||
}
|
}
|
||||||
@ -881,6 +876,14 @@ static void _tx_end(at86rf215_t *dev, netdev_event_t event)
|
|||||||
dev->state = AT86RF215_STATE_IDLE;
|
dev->state = AT86RF215_STATE_IDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void __tx_end_timeout(at86rf215_t *dev)
|
||||||
|
{
|
||||||
|
/* signal error to confirm_send */
|
||||||
|
dev->tx_frame_len = (int16_t)-EHOSTUNREACH;
|
||||||
|
|
||||||
|
_tx_end(dev);
|
||||||
|
}
|
||||||
|
|
||||||
static void _ack_timeout_cb(void* arg) {
|
static void _ack_timeout_cb(void* arg) {
|
||||||
at86rf215_t *dev = arg;
|
at86rf215_t *dev = arg;
|
||||||
netdev_t *netdev = &dev->netdev.netdev;
|
netdev_t *netdev = &dev->netdev.netdev;
|
||||||
@ -972,7 +975,7 @@ static void _handle_ack_timeout(at86rf215_t *dev)
|
|||||||
at86rf215_rf_cmd(dev, CMD_RF_TXPREP);
|
at86rf215_rf_cmd(dev, CMD_RF_TXPREP);
|
||||||
} else {
|
} else {
|
||||||
/* no retransmissions left */
|
/* no retransmissions left */
|
||||||
_tx_end(dev, NETDEV_EVENT_TX_NOACK);
|
__tx_end_timeout(dev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1231,7 +1234,7 @@ static void _isr(netdev_t *netdev)
|
|||||||
dev->state = AT86RF215_STATE_TX_WAIT_ACK;
|
dev->state = AT86RF215_STATE_TX_WAIT_ACK;
|
||||||
_start_ack_timer(dev);
|
_start_ack_timer(dev);
|
||||||
} else {
|
} else {
|
||||||
_tx_end(dev, NETDEV_EVENT_TX_COMPLETE);
|
_tx_end(dev);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1252,7 +1255,7 @@ static void _isr(netdev_t *netdev)
|
|||||||
if (_ack_frame_received(dev)) {
|
if (_ack_frame_received(dev)) {
|
||||||
timeout = 0;
|
timeout = 0;
|
||||||
xtimer_remove(&dev->timer);
|
xtimer_remove(&dev->timer);
|
||||||
_tx_end(dev, NETDEV_EVENT_TX_COMPLETE);
|
_tx_end(dev);
|
||||||
at86rf215_rf_cmd(dev, CMD_RF_RX);
|
at86rf215_rf_cmd(dev, CMD_RF_RX);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user