/* AT86RF212::BUSY_TX */ /* TRX_IRQ_TRX_END occurs here */ /* AT86RF212::PLL_ON && MCU::ISR */ cause = trx_reg_read(RG_IRQ_STATUS); /* MCU::ISR_TXEND */
The end of a TX_ARET transaction is always signaled with the interrupt TRX_IRQ_TRX_END. In order to obtain the outcome of the transaction, the sub register SR_TRAC_STATUS needs to be read and evaluated as described in PHY_DATA_REQUEST_TX_ARET. After the interrupt has occured, the radio transceiver changes its state per default to TX_ARET_ON or to one of the [CMD] states, if requested during state BUSY_TX_ARET (see section State Changes).
/* AT86RF212::BUSY_TX_ARET */ /* TRX_IRQ_TRX_END occurs here */ /* AT86RF212::TX_ARET_ON && MCU::ISR */ cause = trx_reg_read(RG_IRQ_STATUS); tracstat = trx_bit_read(SR_TRAC_STATUS); /* MCU::ISR_TXARETEND */
/* AT86RF212::[RX_ACTIVE] */ /* TRX_IRQ_RX_START occurs here */ /* AT86RF212::[RX_BUSY] && MCU::ISR */ cause = trx_reg_read(RG_IRQ_STATUS); /* MCU::ISR_RXSTART */
/* AT86RF212::[RX_BUSY] */ /* TRX_IRQ_AMI occurs here */ /* MCU::ISR */ cause = trx_reg_read(RG_IRQ_STATUS); /* MCU::ISR_AMI */
/* AT86RF212::BUSY_RX */ /* TRX_IRQ_TRX_END occurs here */ /* MCU::ISR && AT86RF212::RX_ON */ cause = trx_reg_read(RG_IRQ_STATUS); /* MCU::ISR_RXEND */
The behavior of an RX_AACK transaction for a node in slotted operation is described in PHY_DATA_INDICATION_RX_AACK_SLOTTED.
/* AT86RF212::BUSY_RX_AACK */ /* TRX_IRQ_TRX_END occurs here */ /* MCU::ISR && AT86RF212::RX_AACK_ON */ cause = trx_reg_read(RG_IRQ_STATUS); /* MCU::ISR_RXAACKEND */
1.5.6