The result of a TX_ARET transaction is stored in the sub register SR_TRAC_STATUS after the TRX_IRQ_TRX_END interrupt.
tracstat | Result of a TX_ARET transaction from sub register SR_TRAC_STATUS.
|
= CCA =:=== TX ===:============== RX ==================== 0 34 36 38 40 42 44 46 54 [time /symbols] +---| |---+---+---+---+---+---+---|...........| -------|~~~~~~| F |----------|SFD|LEN| ACK | FCS | SW proc. |---------------> | +---| |---o---+---+---+---+---+---|...........| | | | | t0 t1 t2 t3
F = last transmitted byte, SFD, LEN, ACK, FCS = data of the received ACK frame
If the check for BUSY_TX_ARET after initiating the transmission fails, the transmission shall be initiated again. If the frame was downloaded before toggling pin TRX_PIN_SLP_TR, the frame shall be also downloaded again.
trx_pinset_slptr(1); delay_ns(65); trx_pinset_slptr(0); trxstat = trx_bit_read(SR_TRX_STATUS); ASSERT(trxstat==BUSY_TX_ARET); trx_frame_write(len(frame), frame); /* TRX_IRQ_TRX_END occurs here */ tracstat = trx_bit_read(SR_TRAC_STATUS);