nimble advertising

今天顺利将美人鱼(Mermaid)插件装上,整理一张时序图:

sequenceDiagram
NPL->>HCI:BLE_HCI_OCF_LE_SET_ADV_ENABLE
HCI->>HCI:ble_ll_hci_cmd_proc()
HCI->>ADV: ble_ll_hci_adv_set_enable()
note over ADV: ble_ll_adv_sm_start()
ADV->>Scheduler: ble_ll_sched_adv_new()
Scheduler->>Scheduler: ble_ll_sched_run()
note over Scheduler: ble_ll_sched_execute_item()
Scheduler->>ADV: ble_ll_adv_tx_start_cb()
ADV->>PHY: ble_phy_tx()
PHY->>ADV: ble_ll_adv_tx_done()
ADV->>NPL: adv_txdone_ev
NPL->>ADV: ble_ll_adv_event_done()
note over ADV: ble_ll_adv_done()
note over ADV: ble_ll_adv_reschedule_event()
ADV-->>Scheduler: ble_ll_sched_adv_reschedule()
RADIO->>PHY: RADIO_IRQn
note over PHY: ble_phy_isr()
note over PHY: ble_phy_rx_start_isr()
PHY->>ADV: ble_ll_adv_rx_isr_start()
note over PHY: ble_phy_rx_end_isr()
PHY->>ADV: ble_ll_adv_rx_isr_end()
note over ADV: ble_ll_adv_rx_req()
ADV->>PHY:ble_phy_tx(ble_ll_adv_scan_rsp_legacy_pdu_make)
NPL->>LL: ble_ll_event_rx_pkt()
LL->>LL: ble_ll_rx_pkt_in()
LL->>ADV: ble_ll_adv_rx_pkt_in()
note over ADV: ble_ll_adv_conn_req_rxd()
ADV->>CONN: ble_ll_conn_slave_start()
note over ADV: ble_ll_adv_sm_stop()
note over CONN: ble_ll_conn_created()
CONN->>Scheduler:ble_ll_sched_slave_new()
note over CONN: ble_ll_conn_next_event()