sys/net/ieee802154/radio.h: add TX_START

This commit is contained in:
Francisco Molina 2020-09-30 11:16:16 +02:00
parent fed1c4dbbe
commit 7623a9820a
No known key found for this signature in database
GPG Key ID: 3E94EAC3DBDEEDA8

View File

@ -100,6 +100,10 @@ typedef enum {
* @brief the device reports the start of a frame (SFD) when received. * @brief the device reports the start of a frame (SFD) when received.
*/ */
IEEE802154_CAP_IRQ_RX_START, IEEE802154_CAP_IRQ_RX_START,
/**
* @brief the device reports the start of a frame (SFD) was sent.
*/
IEEE802154_CAP_IRQ_TX_START,
/** /**
* @brief the device reports the end of the CCA procedure * @brief the device reports the end of the CCA procedure
*/ */
@ -186,6 +190,15 @@ typedef enum {
*/ */
IEEE802154_RADIO_INDICATION_RX_START, IEEE802154_RADIO_INDICATION_RX_START,
/**
* @brief the transceiver sent out a valid SFD
*
* This event is present if radio has @ref IEEE802154_CAP_IRQ_TX_START cap.
*
* @note The SFD of an outgoing ACK (AUTOACK) should not be indicated
*/
IEEE802154_RADIO_INDICATION_TX_START,
/** /**
* @brief the transceiver received a frame and lies in the * @brief the transceiver received a frame and lies in the
* internal framebuffer. * internal framebuffer.
@ -1073,6 +1086,22 @@ static inline bool ieee802154_radio_has_irq_rx_start(ieee802154_dev_t *dev)
return dev->driver->get_cap(dev, IEEE802154_CAP_IRQ_RX_START); return dev->driver->get_cap(dev, IEEE802154_CAP_IRQ_RX_START);
} }
/**
* @brief Check if the device supports TX start interrupt
*
* Internally this function calls ieee802154_radio_ops::get_cap with @ref
* IEEE802154_CAP_IRQ_TX_START.
*
* @param[in] dev IEEE802.15.4 device descriptor
*
* @return true if the device has support
* @return false otherwise
*/
static inline bool ieee802154_radio_has_irq_tx_start(ieee802154_dev_t *dev)
{
return dev->driver->get_cap(dev, IEEE802154_CAP_IRQ_TX_START);
}
/** /**
* @brief Check if the device supports CCA done interrupt * @brief Check if the device supports CCA done interrupt
* *