2022-12-05 03:20 PM
In my channel hopping application the radio is configured to start RX following any frequency change. However the frequency change may be followed by a TX instead so I may need to abort the RX soon after issuing CMD_RX from READY. Table 50 gives the response time for READY -> LOCK_RX -> RX as 111 us.
AFAIK, depending on whether the radio is in LOCK_RX or RX, CMD_READY or CMD_SABORT is required to transition the radio back to READY in preparation for CMD_TX. There is a potential race condition here between querying the current state which could return LOCK and issuing CMD_READY instead of CMD_SABORT. This leads to the radio not accepting the CMD_READY from the RX state and CMD_TX later also failing.
Is there a reliable way to abort the RX without looping to get the current state?
What states can be reported in MC_STATE0 during the state transition from READY to RX?