size_t at86rf2xx_tx_load(at86rf2xx_t *dev, uint8_t *data, size_t len, size_t offset) { dev->tx_frame_len += (uint8_t)len; at86rf2xx_sram_write(dev, offset + 1, data, len); return offset + len; }
void at86rf2xx_tx_exec(at86rf2xx_t *dev) { /* write frame length field in FIFO */ at86rf2xx_sram_write(dev, 0, &(dev->frame_len), 1); /* trigger sending of pre-loaded frame */ at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_STATE, AT86RF2XX_TRX_STATE__TX_START); if (dev->event_cb && (dev->options & AT86RF2XX_OPT_TELL_TX_START)) { dev->event_cb(NETDEV_EVENT_TX_STARTED, NULL); } }
void at86rf2xx_tx_exec(at86rf2xx_t *dev) { netdev_t *netdev = (netdev_t *)dev; /* write frame length field in FIFO */ at86rf2xx_sram_write(dev, 0, &(dev->tx_frame_len), 1); /* trigger sending of pre-loaded frame */ at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_STATE, AT86RF2XX_TRX_STATE__TX_START); if (netdev->event_callback && (dev->netdev.flags & AT86RF2XX_OPT_TELL_TX_START)) { netdev->event_callback(netdev, NETDEV_EVENT_TX_STARTED); } }