SWCU185G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
If an extended advertiser packet that contains an Aux pointer is received, the radio CPU shall follow the Aux pointer or return information on how the Aux pointer can be followed in a subsequent command. An Aux pointer is not followed in any of the following cases:
If the Aux pointer is followed, the AUX Offset is read and derived values are stored in the parameter structure. pParams->rxStartTime is set to the time that the receiver should be started in order to receive the packet, taking into account the length of the received packet, clock inaccuracies, and receiver startup time for the PHY to use for the next packet. pParams->rxListenTime is set to the time from pParams->rxStartTime to timeout of the receive operation. pParams->channelNo is set to the secondary channel pointed to, and pParams->phyMode indicates the PHY to be used.
If the time from the end of the packet containing the Aux pointer to the time given in pParams->rxStartTime is more than pParams->maxWaitTimeForAuxCh, the operation will end after the packet is received with status BLE_DONE_AUX. It is then up to the system CPU to start a new scanner or initiator command on a secondary channel at the specified time, usually after having been in low-power mode. This command should be started with an absolute start time of pParams->rxStartTime - startToSynthRatOffset, where startToSynthRatOffset is a firmware defined parameter. The command should have a timeout trigger at the time pParams->rxStartTime + pParams->rxListenTime.
If the time given in pParams->rxStartTime is earlier than this, the radio CPU shall automatically schedule the channel and PHY switch. The receiver will be stopped after receiving the packet with the Aux pointer and restarted at pParams->rxStartTime, after the synthesizer is reprogrammed and the PHY mode switched. If the time from the end of the received packet to pParams->rxStartTime is too small, the receiver will start as early as possible. The receiver will run as described in Section 26.8.10.3 for a scanner or Section 26.8.11.3 for an initiator. It will have a timeout after pParams->rxListenTime, and if timed out the operation ends with status BLE_DONE_RXTIMEOUT.