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 42 44 46 48 50 52 54 [time /symbols]
+---| |---+---+---+---+---+---+---|
-------|~~~~~~| F |----------|SFD|LEN| ACK | FCS | --------------->
| +---| |---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 also be 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);
1.5.2