2021-11-30 14:51:24 +01:00

75 lines
2.5 KiB
Plaintext

@startuml
Title FreeRTOS Cellular Library interaction with com interface
participant Application
participant "FreeRTOS Cellular Library"
participant cellular_comm_interface
participant cellular_modem
note over Application : Application needs cellular connecitvity.\nCellular_Init() is called to open FreeRTOS \nCellular Library. Communication interface\n, pCommInterface, is provided by\napplication to "FreeRTOS Cellular Library".
Application -> "FreeRTOS Cellular Library" : Cellular_Init( pCommInterface )
activate Application
"FreeRTOS Cellular Library" ->cellular_comm_interface : pCommInterface->Open( receiveCallback )
cellular_comm_interface->cellular_modem : Register receive callback\nOpen and setup communication device driver\nPower on and enable device
cellular_comm_interface-->"FreeRTOS Cellular Library":
"FreeRTOS Cellular Library"-->Application:
deactivate Application
note over Application : "FreeRTOS Cellular Library" APIs ready.\nApplication get network time with\nCellular_GetNetworkTime() function
Application -> "FreeRTOS Cellular Library" : Cellular_GetNetworkTime()
activate Application
"FreeRTOS Cellular Library"->cellular_comm_interface : pCommInterface->Send()
cellular_comm_interface->cellular_modem : AT+CCLK?
cellular_modem->cellular_comm_interface : +CCLK: "20/06/09,12:06:33+32"
cellular_comm_interface->cellular_comm_interface : Store `+CCLK: "20/06/09,12:06:33+32"` in buffer
cellular_comm_interface->"FreeRTOS Cellular Library" : receiveCallback
"FreeRTOS Cellular Library"->cellular_comm_interface : pCommInterface->recv()
cellular_comm_interface-->"FreeRTOS Cellular Library" : Return data in buffer
cellular_modem->cellular_comm_interface : OK
cellular_comm_interface->cellular_comm_interface : Store `OK` in buffer
cellular_comm_interface->"FreeRTOS Cellular Library" : receiveCallback
cellular_comm_interface-->"FreeRTOS Cellular Library" : Return data in buffer
"FreeRTOS Cellular Library"->Application : Return network time
deactivate Application
note over Application : Applicaton no longer need cellular\nconnectivity. Cellular_Cleanup() is \ncalled to close FreeRTOS Cellular Library.
Application -> "FreeRTOS Cellular Library" : Cellular_Cleanup()
activate Application
"FreeRTOS Cellular Library"->cellular_comm_interface : pCommInterface->Close()
cellular_comm_interface->cellular_modem : Power off device\nClose communication device driver\n
cellular_comm_interface-->"FreeRTOS Cellular Library":
"FreeRTOS Cellular Library"-->Application:
deactivate Application
@enduml