You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.2 KiB
85 lines
3.2 KiB
@startuml
|
|
== Button pressed ==
|
|
participant unknown as uk
|
|
participant main
|
|
participant interrupt as it
|
|
participant app_entry
|
|
participant app_ble
|
|
participant p2p_client_app
|
|
participant stm32_seq
|
|
it -> app_entry : HAL_GPIO_EXTI_Callback()
|
|
app_entry -> app_ble : APP_BLE_Key_Button1_Action()
|
|
app_ble -> p2p_client_app : P2PC_APP_SW1_Button_Action()
|
|
p2p_client_app -> stm32_seq : UTIL_SEQ_SetTask(CFG_TASK_SW1_BUTTON_PUSHED_ID)
|
|
|
|
...waiting for task gets executed....
|
|
|
|
stm32_seq -> p2p_client_app : Button_Trigger_Received()
|
|
p2p_client_app -> p2p_client_app : toggleButtonStatus()
|
|
p2p_client_app -> p2p_client_app : Write_Char(P2P_WRITE_CHAR_UUID, 0, buttonStatus)
|
|
activate p2p_client_app
|
|
p2p_client_app -> "?b" : aci_gatt_write_without_resp()
|
|
deactivate p2p_client_app
|
|
|
|
== Event received ==
|
|
"?a" -> p2p_client_app : Event_Handler()
|
|
activate p2p_client_app
|
|
opt event == HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE
|
|
opt event->core_event == ACI_GATT_PROC_COMPLETE_VSEVT_CODE
|
|
opt aP2PClientContext[index].connHandle != pr->Connection_Handle
|
|
p2p_client_app -> stm32_seq : UTIL_SEQ_SetTask(CFG_TASK_SEARCH_SERVICE_ID)
|
|
end
|
|
end
|
|
end
|
|
deactivate p2p_client_app
|
|
|
|
...waiting for task gets executed....
|
|
|
|
stm32_seq -> p2p_client_app : Update_Service()
|
|
|
|
......
|
|
uk -> app_entry : UTIL_SEQ_Idle()
|
|
uk -> app_entry : shci_notify_asynch_evt()
|
|
activate app_entry
|
|
app_entry -> stm32_seq : UTIL_SEQ_SetTask(CFG_TASK_SYSTEM_HCI_ASYNCH_EVT_ID)
|
|
deactivate app_entry
|
|
uk -> app_entry : shci_cmd_resp_release()
|
|
activate app_entry
|
|
app_entry -> stm32_seq : UTIL_SEQ_SetEvt(CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID)
|
|
deactivate app_entry
|
|
uk -> app_entry : shci_cmd_resp_wait()
|
|
activate app_entry
|
|
app_entry -> stm32_seq : UTIL_SEQ_WaitEvt(CFG_IDLEEVT_SYSTEM_HCI_CMD_EVT_RSP_ID)
|
|
deactivate app_entry
|
|
|
|
== INIT ==
|
|
main -> stm32_seq : UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)
|
|
activate stm32_seq
|
|
stm32_seq -> shci_tl : shci_user_evt_proc()
|
|
activate shci_tl
|
|
shci_tl -> app_entry : APPE_SysUserEvtRx()
|
|
activate app_entry
|
|
app_entry -> app_debug : APPD_EnableCPU2()
|
|
app_entry -> app_ble : APP_BLE_Init()
|
|
activate app_ble
|
|
app_ble -> app_ble : Ble_Tl_Init()
|
|
app_ble -> stm32_seq : UTIL_SEQ_RegTask(CFG_TASK_HCI_ASYNCH_EVT_ID, UTIL_SEQ_RFU, hci_user_evt_proc)
|
|
app_ble -> shci : SHCI_C2_BLE_Init()
|
|
app_ble -> app_ble : Ble_Hci_Gap_Gatt_Init()
|
|
app_ble -> svc_ctl : SVCCTL_Init()
|
|
app_ble -> stm32_seq : UTIL_SEQ_RegTask(CFG_TASK_START_SCAN_ID, UTIL_SEQ_RFU, Scan_Request)
|
|
app_ble -> stm32_seq : UTIL_SEQ_RegTask(CFG_TASK_CONN_DEV_1_ID, UTIL_SEQ_RFU, Connect_Request)
|
|
app_ble -> uk : aci_hal_set_radio_activity_mask()
|
|
app_ble -> app_p2p_client : P2PC_APP_Init()
|
|
activate app_p2p_client
|
|
app_p2p_client -> svc_ctl : SVCCTL_RegisterCltHandler(Event_Handler)
|
|
deactivate app_p2p_client
|
|
app_ble -> hw_timeserver : HW_TS_Create(CFG_TIM_PROC_ID_ISR, &(BleApplicationContext.SwitchOffGPIO_timer_Id), hw_ts_SingleShot, Switch_OFF_GPIO)
|
|
deactivate app_ble
|
|
deactivate app_entry
|
|
deactivate shci_tl
|
|
stm32_seq -> stm32_seq : UTIL_SEQ_PreIdle()
|
|
stm32_seq -> stm32_seq : UTIL_SEQ_Idle()
|
|
stm32_seq -> stm32_seq : UTIL_SEQ_PostIdle()
|
|
deactivate stm32_seq
|
|
@enduml
|