ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
用于结束操作的两个触发条件分别由 pParams->endTrigger/pParams->endTime 和 pParams->timeoutTrigger/pParams->timeoutTime 设置。触发具有以下行为:
如果无线电 CPU 接收到立即命令 CMD_STOP,它应与发生的结束触发器具有相同的含义,但结束后的状态代码应为 CMD_DONE_STOPPED。通常,timeoutTrigger 可以在扫描窗口结束时使用,而 endTrigger 可以在扫描完全结束时使用。
输出结构 pOutput 包含的字段提供有关正在运行的命令的信息。无线电 CPU 不应初始化字段,因此当需要复位计数器时,必须由系统 CPU 执行此操作。这些字段应由无线电 CPU 更新,如下所述。该列表还指示何时应当在系统 CPU 中发出中断。
扫描器操作应以表 26-153 中列出的状态之一结束。操作结束后,命令结构的状态字段指示操作结束的原因。在所有情况下,都会产生 Command_Done 中断。在每种情况下,都会指示 TRUE、FALSE 或 ABORT 的结果,这些结果将决定下一个操作。
| 条件 | 状态代码 | 结果 |
|---|---|---|
| 使用 pParams->scanConfig.bEndOnRpt = 1 或在次级通道上接收时执行操作 2 | BLE_DONE_OK | TRUE |
| 在 pParams->scanConfig.bEndOnRpt = 1 时或在次级通道上执行操作 3,并且由于退避而未发送 SCAN_REQ 或 AUX_SCAN_REQ | BLE_DONE_OK | TRUE |
| 在 pParams->scanConfig.bEndOnRpt = 1 时或在次级通道上执行操作 3,发送了 SCAN_REQ 或 AUX_SCAN_REQ,并接收到 SCAN_RSP 或 AUX_SCAN_RSP,其中 bCrcErr = 0 且 bIgnore = 0 | BLE_DONE_OK | TRUE |
| 在次级通道上执行操作 1 或操作 4 | BLE_DONE_RXERR | TRUE |
| 在 pParams->scanConfig.bEndOnRpt = 1 时或在次级通道上执行操作 3,发送了 SCAN_REQ 或 AUX_SCAN_REQ 并接收到 SCAN_RSP 或 AUX_SCAN_RSP,其中 bCrcErr = 1 或 bIgnore = 1 | BLE_DONE_RXERR | TRUE |
| 在 pParams->scanConfig.bEndOnRpt = 1 时或在次级通道上执行操作 3,发送了 SCAN_REQ 或 AUX_SCAN_REQ,但未实现同步或发现错误的数据包类型或无效的长度 | BLE_DONE_NOSYNC | TRUE |
| 等待广播器数据包同步时,观察到由 pParams->timeoutTrigger 指示的触发 | BLE_DONE_RXTIMEOUT | TRUE |
| 在主通道上观察到的触发由 pParams->timeoutTrigger 指示,然后执行操作 1、2、3、4 或 5。 | BLE_DONE_RXTIMEOUT | TRUE |
| 等待广播器数据包同步时,观察到了由 pParams->endTrigger 指示的触发 | BLE_DONE_ENDED | FALSE |
| 观察到由 pParams->endTrigger 指示的触发,然后执行了操作 1、2、3、4、5 或 6。 | BLE_DONE_ENDED | FALSE |
| 在广播器数据包等待同步时观察到 CMD_STOP | BLE_DONE_STOPPED | FALSE |
| 观察到 CMD_STOP,然后执行了操作 1、2、3、4、5 或 6。 | BLE_DONE_STOPPED | FALSE |
| 执行操作 6,等待 AUX 数据包的时间大于 pParams->maxWaitTimeForAuxCh。 | BLE_DONE_AUX | FALSE |
| 收到了 CMD_ABORT | BLE_DONE_ABORT | ABORT |
| RX 缓冲器中没有空间来存储接收到的数据包 | BLE_ERROR_RXBUF | FALSE |
| 通道值非法 | BLE_ERROR_PAR | ABORT |
| 扫描请求数据长度字段具有非法值 | BLE_ERROR_PAR | ABORT |