~aleteoryx/muditaos

ref: 71fa4c5578eb2ea57899e63c3aa5c42461502483 muditaos/module-services/service-cellular/doc/cellular_state_machine.svg -rw-r--r-- 34.3 KiB
71fa4c55 — Paweł Joński [BH-721] Fix and add new rrule generator methods 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1228px" preserveAspectRatio="none" style="width:1839px;height:1228px;" version="1.1" viewBox="0 0 1839 1228" width="1839px" zoomAndPan="magnify"><defs><filter height="300%" id="f1iqeqg1mdk5jf" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="100" cy="32" fill="#000000" filter="url(#f1iqeqg1mdk5jf)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><g id="WaitForStartPermission"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="186" x="7" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="7" x2="193" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="166" x="17" y="166.9951">WaitForStartPermission</text></g><g id="PowerDown"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="103" x="492.5" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="492.5" x2="595.5" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="502.5" y="166.9951">PowerDown</text></g><g id="PowerUpRequest"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="140" x="481" y="291"/><line style="stroke:#A80036;stroke-width:1.5;" x1="481" x2="621" y1="317.2969" y2="317.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="491" y="308.9951">PowerUpRequest</text></g><g id="PowerUpProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="155" x="737.5" y="418"/><line style="stroke:#A80036;stroke-width:1.5;" x1="737.5" x2="892.5" y1="444.2969" y2="444.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="747.5" y="435.9951">PowerUpProcedure</text></g><g id="StatusCheck"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="108" x="497" y="418"/><line style="stroke:#A80036;stroke-width:1.5;" x1="497" x2="605" y1="444.2969" y2="444.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="507" y="435.9951">StatusCheck</text></g><g id="PowerUpInPorgress"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="156" x="724" y="545"/><line style="stroke:#A80036;stroke-width:1.5;" x1="724" x2="880" y1="571.2969" y2="571.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136" x="734" y="562.9951">PowerUpInPorgress</text></g><g id="CellularConfProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="181" x="1160.5" y="672"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1160.5" x2="1341.5" y1="698.2969" y2="698.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="161" x="1170.5" y="689.9951">CellularConfProcedure</text></g><g id="BaudDetect"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="104" x="853" y="672"/><line style="stroke:#A80036;stroke-width:1.5;" x1="853" x2="957" y1="698.2969" y2="698.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="863" y="689.9951">BaudDetect</text></g><g id="ModemFatalFailure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="157" x="867.5" y="1164"/><line style="stroke:#A80036;stroke-width:1.5;" x1="867.5" x2="1024.5" y1="1190.2969" y2="1190.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137" x="877.5" y="1181.9951">ModemFatalFailure</text></g><g id="AudioConfigurationProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="231" x="1135.5" y="799"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1135.5" x2="1366.5" y1="825.2969" y2="825.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="211" x="1145.5" y="816.9951">AudioConfigurationProcedure</text></g><g id="Failed"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="63" x="1593.5" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1593.5" x2="1656.5" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="1603.5" y="943.9951">Failed</text></g><g id="Idle"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="50" x="1226" y="1037"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1226" x2="1276" y1="1063.2969" y2="1063.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="1238" y="1054.9951">Idle</text></g><g id="APNConfProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="154" x="1027" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1027" x2="1181" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="1037" y="943.9951">APNConfProcedure</text></g><g id="SanityCheck"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="108" x="1050" y="1037"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1050" x2="1158" y1="1063.2969" y2="1063.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="1060" y="1054.9951">SanityCheck</text></g><g id="ModemOn"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="93" x="1059.5" y="1164"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1059.5" x2="1152.5" y1="1190.2969" y2="1190.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1069.5" y="1181.9951">ModemOn</text></g><g id="URCReady"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="95" x="1187.5" y="1164"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1187.5" x2="1282.5" y1="1190.2969" y2="1190.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="1197.5" y="1181.9951">URCReady</text></g><g id="Event:CellularSimProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="220" x="824" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="824" x2="1044" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="200" x="834" y="24.9951">Event:CellularSimProcedure</text></g><g id="SimSelect"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="91" x="888.5" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="888.5" x2="979.5" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="71" x="898.5" y="166.9951">SimSelect</text></g><g id="Event:SIM_READY"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="146" x="1679" y="672"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1679" x2="1825" y1="698.2969" y2="698.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="1689" y="689.9951">Event:SIM_READY</text></g><g id="SimInit"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="69" x="1717.5" y="799"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1717.5" x2="1786.5" y1="825.2969" y2="825.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1727.5" y="816.9951">SimInit</text></g><g id="Ready"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="65" x="1736.5" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1736.5" x2="1801.5" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="1746.5" y="943.9951">Ready</text></g><g id="Event:PowerDownDeregistering"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="245" x="1079.5" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1079.5" x2="1324.5" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="225" x="1089.5" y="24.9951">Event:PowerDownDeregistering</text></g><g id="PowerDownStarted"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="155" x="1124.5" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1124.5" x2="1279.5" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="1134.5" y="166.9951">PowerDownStarted</text></g><g id="Event:PowerDownDeregistered"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="241" x="366.5" y="799"/><line style="stroke:#A80036;stroke-width:1.5;" x1="366.5" x2="607.5" y1="825.2969" y2="825.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="221" x="376.5" y="816.9951">Event:PowerDownDeregistered</text></g><g id="PowerDownWaiting"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="157" x="408.5" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="408.5" x2="565.5" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137" x="418.5" y="943.9951">PowerDownWaiting</text></g><g id="Event:PowerDownRequest"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="206" x="167" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="167" x2="373" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="186" x="177" y="943.9951">Event:PowerDownRequest</text></g><g id="Event:PowerUpProcedureComplete"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="269" x="1136.5" y="545"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1136.5" x2="1405.5" y1="571.2969" y2="571.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="249" x="1146.5" y="562.9951">Event:PowerUpProcedureComplete</text></g><g id="Event:modemActive"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="164" x="625" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="625" x2="789" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="144" x="635" y="24.9951">Event:modemActive</text></g><g id="Event:powerDownRequest"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="207" x="292.5" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="292.5" x2="499.5" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="187" x="302.5" y="24.9951">Event:powerDownRequest</text></g><!--MD5=[f915ac7c515e4418b9971fc24141bfa8]
link *start to WaitForStartPermission--><path d="M100,42.19 C100,62.43 100,111.61 100,143.57 " fill="none" id="*start-to-WaitForStartPermission" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="100,148.93,104,139.93,100,143.93,96,139.93,100,148.93" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[88ab108be6f5d0bf533f01e1c35c5b74]
link WaitForStartPermission to PowerDown--><path d="M193.08,174 C281.85,174 412.72,174 487.01,174 " fill="none" id="WaitForStartPermission-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492.26,174,483.26,170,487.26,174,483.26,178,492.26,174" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="263" x="211.25" y="167.0669">PowerDownRequest &amp;&amp; !isModemActive</text><!--MD5=[0c907647073cf18eded21f91f1f8f134]
link WaitForStartPermission to PowerUpRequest--><path d="M161.58,199.14 C209.3,217.39 277.3,242.39 338,261 C383.39,274.92 434.98,288.06 476.02,297.9 " fill="none" id="WaitForStartPermission-to-PowerUpRequest" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="480.97,299.08,473.142,293.1032,476.1061,297.9213,471.288,300.8854,480.97,299.08" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="111" x="339" y="249.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M595.63,179.97 C627.69,186.03 666.55,199.42 687,229 C708.72,260.42 668.44,282.81 626.2,296.85 " fill="none" id="PowerDown-to-PowerUpRequest" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="621.31,298.44,631.105,299.4683,626.0661,296.8975,628.637,291.8586,621.31,298.44" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="111" x="695" y="249.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M492.3,199.11 C480.97,206.97 470.45,216.87 464,229 C457.33,241.56 457.09,248.57 464,261 C469.97,271.74 479.06,280.62 489.15,287.85 " fill="none" id="PowerDown-to-PowerUpRequest-1" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="493.53,290.85,488.3662,282.4634,489.4052,288.024,483.8446,289.0631,493.53,290.85" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="209" x="465" y="242.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="173" x="487" y="257.1997">&amp;&amp; nextPowerState == on</text><!--MD5=[fd7c4f6a4c6d13e246c834aa3ba49585]
link PowerUpRequest to PowerUpProcedure--><path d="M601.9,341.1 C647.1,362.5 713,393.71 759.53,415.74 " fill="none" id="PowerUpRequest-to-PowerUpProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="764.25,417.97,757.8155,410.5136,759.7275,415.8376,754.4036,417.7496,764.25,417.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="130" x="700" y="384.0669">board == T3 | Linux</text><!--MD5=[1f58f805457b87f5122cad7e5f47ae2e]
link PowerUpRequest to StatusCheck--><path d="M551,341.1 C551,361.59 551,391.08 551,412.88 " fill="none" id="PowerUpRequest-to-StatusCheck" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="551,417.97,555,408.97,551,412.97,547,408.97,551,417.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="552" y="384.0669">board == T4</text><!--MD5=[d831c87685770c4b5421553c9e07c620]
link StatusCheck to PowerUpInPorgress--><path d="M599.4,468.1 C642.37,489.5 705.03,520.71 749.26,542.74 " fill="none" id="StatusCheck-to-PowerUpInPorgress" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="753.75,544.97,747.4793,537.3754,749.275,542.7397,743.9107,544.5354,753.75,544.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="693" y="511.0669">modemActive</text><!--MD5=[5076860d7ea1929d04394078621bcf05]
link StatusCheck to PowerUpProcedure--><path d="M605.06,443 C641.74,443 690.92,443 732.46,443 " fill="none" id="StatusCheck-to-PowerUpProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="737.48,443,728.48,439,732.48,443,728.48,447,737.48,443" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="96" x="623.25" y="436.0669">!modemActive</text><!--MD5=[d397ed2e524c17c524214a6bc49619b6]
link PowerUpProcedure to CellularConfProcedure--><path d="M892.73,447.29 C936.14,452.88 988.64,466.38 1025,498 C1060.19,528.6 1033.82,560.32 1065,595 C1095.21,628.61 1139.32,653.23 1177,669.75 " fill="none" id="PowerUpProcedure-to-CellularConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1182.04,671.93,1175.3705,664.6831,1177.4517,669.9432,1172.1916,672.0243,1182.04,671.93" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1066" y="574.5669">hotStart</text><!--MD5=[c78ef4752e5fc097b033474b61fe6478]
link PowerUpProcedure to PowerUpInPorgress--><path d="M806.24,468.13 C803.32,477.34 800.45,488.03 799,498 C797.01,511.69 797.34,527.01 798.34,539.9 " fill="none" id="PowerUpProcedure-to-PowerUpInPorgress" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="798.77,544.9,801.9845,535.5905,798.3418,539.9184,794.0139,536.2756,798.77,544.9" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="220" x="800" y="511.0669">coldStart || event: modem ACTIVE</text><!--MD5=[727c9e726932860737726ca6f5028085]
link PowerUpInPorgress to BaudDetect--><path d="M821.86,595.1 C839.03,615.94 863.86,646.07 881.91,667.98 " fill="none" id="PowerUpInPorgress-to-BaudDetect" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="885.2,671.97,882.5528,662.4836,882.016,668.1149,876.3846,667.578,885.2,671.97" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[f6b42f2832973fdffd6f80cf1316681b]
link BaudDetect to CellularConfProcedure--><path d="M957.17,697 C1009.42,697 1091.02,697 1154.98,697 " fill="none" id="BaudDetect-to-CellularConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1160.33,697,1151.33,693,1155.33,697,1151.33,701,1160.33,697" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1032.75" y="690.0669">Success</text><!--MD5=[fb0ab7093ebe96a0eb9a906c1d94f36d]
link BaudDetect to ModemFatalFailure--><path d="M917.97,722.13 C929.98,746.77 946,786.46 946,823 C946,823 946,823 946,1063 C946,1095.62 946,1133.03 946,1158.35 " fill="none" id="BaudDetect-to-ModemFatalFailure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="946,1163.57,950,1154.57,946,1158.57,942,1154.57,946,1163.57" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="947" y="955.5669">Failure</text><!--MD5=[68f100448ff22dc026a7f78db7e4edea]
link CellularConfProcedure to AudioConfigurationProcedure--><path d="M1251,722.1 C1251,742.59 1251,772.08 1251,793.88 " fill="none" id="CellularConfProcedure-to-AudioConfigurationProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1251,798.97,1255,789.97,1251,793.97,1247,789.97,1251,798.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1252" y="765.0669">Success</text><!--MD5=[5d7ae24bf63e4aed2a4253c65e46f11f]
link CellularConfProcedure to Failed--><path d="M1340.84,722.08 C1420.79,748.02 1535.26,797.03 1603,879 C1612.74,890.78 1618.17,906.86 1621.21,920.74 " fill="none" id="CellularConfProcedure-to-Failed" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1622.22,925.74,1624.3396,916.1219,1621.2202,920.841,1616.5011,917.7216,1622.22,925.74" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="39" x="1575" y="828.5669">Failed</text><!--MD5=[8bec8aa94f11da26fdaa532b9e927b58]
link AudioConfigurationProcedure to AudioConfigurationProcedure--><path d="M1366.79,813.08 C1387.24,814.52 1401.5,818.16 1401.5,824 C1401.5,829.34 1389.59,832.84 1371.92,834.5 " fill="none" id="AudioConfigurationProcedure-to-AudioConfigurationProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1366.79,834.92,1376.0903,838.161,1371.7728,834.506,1375.4279,830.1885,1366.79,834.92" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="39" x="1407.5" y="828.5669">Failed</text><!--MD5=[f66ed35969f9ee770eed229d3a3a3084]
link AudioConfigurationProcedure to Failed--><path d="M1263.52,849.3 C1273,865.17 1287.54,884.94 1306,896 C1353.17,924.26 1514.8,940.88 1588.2,947.13 " fill="none" id="AudioConfigurationProcedure-to-Failed" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1593.33,947.57,1584.7056,942.8139,1588.3484,947.1418,1584.0205,950.7845,1593.33,947.57" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="291" x="1307" y="892.0669">Baud setup fail | radio enabling/disabling fail</text><!--MD5=[82b15964c7ea4c9e08a8f2c3031886b6]
link AudioConfigurationProcedure to Idle--><path d="M1251,849.37 C1251,893.03 1251,984.41 1251,1031.52 " fill="none" id="AudioConfigurationProcedure-to-Idle" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1251,1036.77,1255,1027.77,1251,1031.77,1247,1027.77,1251,1036.77" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="76" x="1252" y="955.5669">reset called</text><!--MD5=[0510a649553933047eef813e676d387c]
link AudioConfigurationProcedure to APNConfProcedure--><path d="M1211.5,849.17 C1198.17,857.97 1183.52,868.37 1171,879 C1155.65,892.04 1140.11,908.27 1127.87,921.92 " fill="none" id="AudioConfigurationProcedure-to-APNConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1124.51,925.7,1133.4876,921.6499,1127.8398,921.9701,1127.5197,916.3223,1124.51,925.7" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1172" y="892.0669">Success</text><!--MD5=[7ef9c75e84b5805cea2dd0fad20a72d8]
link APNConfProcedure to SanityCheck--><path d="M1104,976.19 C1104,992.56 1104,1014.28 1104,1031.64 " fill="none" id="APNConfProcedure-to-SanityCheck" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1104,1036.88,1108,1027.88,1104,1031.88,1100,1027.88,1104,1036.88" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[8c0f7218f4a51008def03317319fcc3d]
link SanityCheck to ModemOn--><path d="M1104.39,1087.1 C1104.71,1107.59 1105.19,1137.08 1105.53,1158.88 " fill="none" id="SanityCheck-to-ModemOn" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1105.62,1163.97,1109.491,1154.9138,1105.5486,1158.9705,1101.4918,1155.0281,1105.62,1163.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1107" y="1130.0669">Success</text><!--MD5=[33f60799b5f26f20f5dd174f2ed7c1a3]
link SanityCheck to ModemFatalFailure--><path d="M1073.54,1087.1 C1046.87,1108.2 1008.16,1138.83 980.39,1160.8 " fill="none" id="SanityCheck-to-ModemFatalFailure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="976.37,1163.97,985.9088,1161.5181,980.2896,1160.8658,980.942,1155.2466,976.37,1163.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="1036" y="1130.0669">Failure</text><!--MD5=[3905e8178637947b22a281c6f6af1a81]
link ModemOn to URCReady--><path d="M1152.61,1189 C1162.48,1189 1172.34,1189 1182.21,1189 " fill="none" id="ModemOn-to-URCReady" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1187.37,1189,1178.37,1185,1182.37,1189,1178.37,1193,1187.37,1189" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[25bdad021a3357d0304ecf42b5cd666e]
link Event:CellularSimProcedure to SimSelect--><path d="M934,57.07 C934,81.01 934,117.78 934,143.47 " fill="none" id="Event:CellularSimProcedure-to-SimSelect" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="934,148.78,938,139.78,934,143.78,930,139.78,934,148.78" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[70270a8730f9b46f42f00f8c6cb6b504]
link Event:SIM_READY to SimInit--><path d="M1752,722.1 C1752,742.59 1752,772.08 1752,793.88 " fill="none" id="Event:SIM_READY-to-SimInit" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1752,798.97,1756,789.97,1752,793.97,1748,789.97,1752,798.97" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[b86a93dae48bca6b30f35403ce1d8717]
link SimInit to Failed--><path d="M1727.51,849.1 C1706.25,870.03 1675.47,900.32 1653.19,922.25 " fill="none" id="SimInit-to-Failed" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1649.41,925.97,1658.6307,922.509,1652.974,922.4632,1653.0198,916.8065,1649.41,925.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="1697" y="892.0669">Failure</text><!--MD5=[b5461c294bec50186077517b36d4e59b]
link SimInit to Ready--><path d="M1755.28,849.1 C1758.06,869.59 1762.07,899.08 1765.04,920.88 " fill="none" id="SimInit-to-Ready" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1765.73,925.97,1768.4858,916.5146,1765.0589,921.0152,1760.5582,917.5883,1765.73,925.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1762" y="892.0669">Success</text><!--MD5=[413a005fcb8ce8860adb73228c80b7ef]
link Event:PowerDownDeregistering to PowerDownStarted--><path d="M1202,57.07 C1202,81.01 1202,117.78 1202,143.47 " fill="none" id="Event:PowerDownDeregistering-to-PowerDownStarted" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1202,148.78,1206,139.78,1202,143.78,1198,139.78,1202,148.78" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="184" x="1203" y="107.5669">state != PowerDownWaiting</text><!--MD5=[b6a5c31cebdae095f367e2e47186e206]
link Event:PowerDownDeregistered to PowerDownWaiting--><path d="M487,849.1 C487,869.59 487,899.08 487,920.88 " fill="none" id="Event:PowerDownDeregistered-to-PowerDownWaiting" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="487,925.97,491,916.97,487,920.97,483,916.97,487,925.97" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[24c673904b079bd1ceff7ed1ad2637b1]
link Event:PowerDownRequest to PowerDownWaiting--><path d="M373.41,951 C383.36,951 393.31,951 403.26,951 " fill="none" id="Event:PowerDownRequest-to-PowerDownWaiting" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="408.47,951,399.47,947,403.47,951,399.47,955,408.47,951" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[bd7f44948400696f1debeec448c84662]
link PowerDownWaiting to PowerDown--><path d="M408.4,926.8 C362.29,907.82 313,875.68 313,825 C313,315 313,315 313,315 C313,233.76 418.78,198.36 487.18,183.96 " fill="none" id="PowerDownWaiting-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492.45,182.88,482.8319,180.7604,487.551,183.8798,484.4316,188.5989,492.45,182.88" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="118" x="332.5" y="567.0669">(If T3 &amp;&amp; timeout)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="155" x="318" y="582.1997">|| Event:modemInactive</text><!--MD5=[538f577aff9d45ee5f10c76efb758677]
link BaudDetect to PowerDownWaiting--><path d="M852.99,721.83 C811.99,741.19 753.81,769.96 705,799 C638.63,838.49 565.64,891.06 523.2,922.61 " fill="none" id="BaudDetect-to-PowerDownWaiting" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="518.94,925.79,528.545,923.612,522.9469,922.7992,523.7597,917.201,518.94,925.79" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="209" x="706" y="821.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="175" x="727" y="836.1997">&amp;&amp; nextPowerState == off</text><!--MD5=[0efad0401ca8edd085e226b25311ae33]
link Event:PowerUpProcedureComplete to CellularConfProcedure--><path d="M1267.14,595.1 C1263.87,615.59 1259.15,645.08 1255.66,666.88 " fill="none" id="Event:PowerUpProcedureComplete-to-CellularConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1254.84,671.97,1260.207,663.712,1255.6272,667.0324,1252.3068,662.4525,1254.84,671.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134" x="1263" y="638.0669">board == T3 || Linux</text><!--MD5=[18dc0415e66d1a4a3ab66d026941b242]
link Event:modemActive to PowerDown--><path d="M701.15,57.3 C695.48,76.24 685.17,102.09 668,119 C649.49,137.23 623.83,149.79 600.64,158.17 " fill="none" id="Event:modemActive-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="595.73,159.9,605.5472,160.689,600.4471,158.2419,602.8942,153.1417,595.73,159.9" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="180" x="691" y="107.5669">state != PowerUpProcedure</text><!--MD5=[8ce29d3611eab794d01643cc4f798f18]
link Event:powerDownRequest to PowerDown--><path d="M387.86,57.11 C383.18,75.7 380.44,101.17 393,119 C414.15,149.03 453.61,162.45 486.89,168.4 " fill="none" id="Event:powerDownRequest-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492.17,169.3,483.9731,163.8401,487.2415,168.4572,482.6245,171.7257,492.17,169.3" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="269" x="394" y="100.0669">state != PowerDown,PowerDownWaiting,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="253" x="404" y="115.1997">PowerUpProcedure,PowerUpInProgress</text><!--MD5=[c0d462428a6b2d1bf2eefbb04fccfeb6]
@startuml

[*] - -> WaitForStartPermission

WaitForStartPermission -> PowerDown : PowerDownRequest && !isModemActive

WaitForStartPermission - -> PowerUpRequest : PowerUpRequest

PowerDown - -> PowerUpRequest : PowerUpRequest

PowerUpRequest - -> PowerUpProcedure : board == T3 | Linux

PowerUpRequest -> StatusCheck : board == T4

StatusCheck - -> PowerUpInPorgress : modemActive

StatusCheck -> PowerUpProcedure : !modemActive

PowerUpProcedure - -> CellularConfProcedure : hotStart

PowerUpProcedure - -> PowerUpInPorgress : coldStart || event: modem ACTIVE

PowerUpInPorgress - -> BaudDetect

BaudDetect -> CellularConfProcedure : Success

BaudDetect - -> ModemFatalFailure : Failure

CellularConfProcedure - -> AudioConfigurationProcedure : Success

CellularConfProcedure -> Failed : Failed

AudioConfigurationProcedure -> AudioConfigurationProcedure : Failed

AudioConfigurationProcedure - -> Failed : Baud setup fail | radio enabling/disabling fail

AudioConfigurationProcedure - - -> Idle : reset called

AudioConfigurationProcedure - -> APNConfProcedure : Success

APNConfProcedure - -> SanityCheck

SanityCheck - -> ModemOn : Success

SanityCheck - -> ModemFatalFailure : Failure

ModemOn -> URCReady

Event:CellularSimProcedure - -> SimSelect 

Event:SIM_READY - -> SimInit

SimInit - -> Failed : Failure

SimInit - -> Ready : Success

Event:PowerDownDeregistering - -> PowerDownStarted : state != PowerDownWaiting

Event:PowerDownDeregistered - -> PowerDownWaiting

Event:PowerDownRequest -> PowerDownWaiting

PowerDownWaiting - - -> PowerDown : (If T3 && timeout) \n || Event:modemInactive

PowerDown - -> PowerUpRequest : nextPowerStateChangeAwaiting \n && nextPowerState == on

BaudDetect - - -> PowerDownWaiting : nextPowerStateChangeAwaiting \n && nextPowerState == off

Event:PowerUpProcedureComplete - -> CellularConfProcedure : board == T3 || Linux

Event:modemActive - -> PowerDown : state != PowerUpProcedure

Event:powerDownRequest - -> PowerDown : state != PowerDown,PowerDownWaiting,\n PowerUpProcedure,PowerUpInProgress

@enduml

PlantUML version 1.2021.2(Sun Mar 07 12:10:27 CET 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: pl
Country: PL
--></g></svg>