<?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="1291px" preserveAspectRatio="none" style="width:1333px;height:1291px;background:#F0F0F0;" version="1.1" viewBox="0 0 1333 1291" width="1333px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ooykyz22dy45" 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="95.5" cy="89" fill="#000000" filter="url(#f1ooykyz22dy45)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="6" y="231"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6" x2="185" y1="257.2969" y2="257.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="159" x="16" y="248.9951">WaitForStartPermission</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="479" y="231"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="479" x2="582" y1="257.2969" y2="257.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="489" y="248.9951">PowerDown</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="420" y="373"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="420" x2="561" y1="399.2969" y2="399.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="430" y="390.9951">PowerUpRequest</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="675.5" y="500"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="675.5" x2="829.5" y1="526.2969" y2="526.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="685.5" y="517.9951">PowerUpProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="436.5" y="500"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="436.5" x2="544.5" y1="526.2969" y2="526.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="446.5" y="517.9951">StatusCheck</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="553.5" y="627"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.5" x2="709.5" y1="653.2969" y2="653.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="563.5" y="644.9951">PowerUpInPorgress</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="784.5" y="738"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="784.5" x2="958.5" y1="764.2969" y2="764.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="794.5" y="755.9951">CellularConfProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="585" y="738"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="585" x2="688" y1="764.2969" y2="764.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="595" y="755.9951">BaudDetect</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="659" y="1230"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="659" x2="808" y1="1256.2969" y2="1256.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="669" y="1247.9951">ModemFatalFailure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="223" x="991" y="865"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="991" x2="1214" y1="891.2969" y2="891.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="203" x="1001" y="882.9951">AudioConfigurationProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="790.5" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="790.5" x2="850.5" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="800.5" y="1009.9951">Failed</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="1231.5" y="1103"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1231.5" x2="1281.5" y1="1129.2969" y2="1129.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="24" x="1244.5" y="1120.9951">Idle</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="152" x="960.5" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="960.5" x2="1112.5" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="132" x="970.5" y="1009.9951">APNConfProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="879" y="1103"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879" x2="984" y1="1129.2969" y2="1129.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="889" y="1120.9951">SanityCheck</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="885.5" y="1230"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="885.5" x2="977.5" y1="1256.2969" y2="1256.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="895.5" y="1247.9951">ModemOn</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1013" y="1230"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1013" x2="1106" y1="1256.2969" y2="1256.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="73" x="1023" y="1247.9951">URCReady</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="162.0156" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="508" x="140.5" y="8"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="648.5" y1="34.2969" y2="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="375" y="25.9951">Event</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="145.5" y="50.4355">CellularSimProcedure --> SimSelect</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="134" x="145.5" y="64.4043">SIM_READY --> SimInit</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="488" x="145.5" y="78.373">PowerDownDeregistering --> PowerDownStarted : state != PowerDownWaiting</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="298" x="145.5" y="92.3418">PowerDownDeregistered --> PowerDownWaiting</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="264" x="145.5" y="106.3105">PowerDownRequest -> PowerDownWaiting</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="483" x="145.5" y="120.2793">PowerUpProcedureComplete --> CellularConfProcedure : board == T3 || Linux</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="369" x="145.5" y="134.248">modemActive --> PowerDown : state != PowerUpProcedure</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="488" x="145.5" y="148.2168">powerDownRequest --> PowerDown : state != PowerDown,PowerDownWaiting,</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="246" x="149.5" y="162.1855">PowerUpProcedure,PowerUpInProgress</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="65" x="243" y="865"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="308" y1="891.2969" y2="891.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="45" x="253" y="882.9951">SimInit</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="63" x="244" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="244" x2="307" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="43" x="254" y="1009.9951">Ready</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="358" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="358" x2="511" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="368" y="1009.9951">PowerDownWaiting</text><!--MD5=[f915ac7c515e4418b9971fc24141bfa8]
link *start to WaitForStartPermission--><path d="M95.5,99.34 C95.5,123.26 95.5,187.46 95.5,225.52 " fill="none" id="*start->WaitForStartPermission" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="95.5,230.94,99.5,221.94,95.5,225.94,91.5,221.94,95.5,230.94" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[88ab108be6f5d0bf533f01e1c35c5b74]
link WaitForStartPermission to PowerDown--><path d="M185.1,256 C271.69,256 400.22,256 473.62,256 " fill="none" id="WaitForStartPermission->PowerDown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="478.81,256,469.81,252,473.81,256,469.81,260,478.81,256" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="257" x="203.5" y="249.0669">PowerDownRequest && !isModemActive</text><!--MD5=[0c907647073cf18eded21f91f1f8f134]
link WaitForStartPermission to PowerUpRequest--><path d="M159.93,281.08 C207.06,298.57 272.61,322.64 330.5,343 C357.97,352.66 388.21,362.95 414.93,371.93 " fill="none" id="WaitForStartPermission->PowerUpRequest" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="419.88,373.59,412.6128,366.9426,415.138,372.0046,410.0761,374.5298,419.88,373.59" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="331.5" y="331.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M480.47,281.06 C469.27,288.96 458.84,298.89 452.5,311 C442.65,329.79 452.6,351.67 464.78,368.66 " fill="none" id="PowerDown->PowerUpRequest" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="467.92,372.87,465.72,363.27,464.92,368.87,459.32,368.07,467.92,372.87" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="453.5" y="331.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M552.1,281.19 C564.98,298.69 576.97,322.72 566.5,343 C561.04,353.57 552.45,362.52 542.98,369.92 " fill="none" id="PowerDown->PowerUpRequest-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="538.88,372.99,548.48,370.79,542.88,369.99,543.68,364.39,538.88,372.99" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="203" x="570.5" y="324.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="589.5" y="339.1997">&& nextPowerState == on</text><!--MD5=[fd7c4f6a4c6d13e246c834aa3ba49585]
link PowerUpRequest to PowerUpProcedure--><path d="M541.02,423.1 C585.87,444.5 651.28,475.71 697.45,497.74 " fill="none" id="PowerUpRequest->PowerUpProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="702.14,499.97,695.7441,492.4805,697.6286,497.8142,692.2949,499.6987,702.14,499.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="127" x="637.5" y="466.0669">board == T3 | Linux</text><!--MD5=[1f58f805457b87f5122cad7e5f47ae2e]
link PowerUpRequest to StatusCheck--><path d="M490.5,423.1 C490.5,443.59 490.5,473.08 490.5,494.88 " fill="none" id="PowerUpRequest->StatusCheck" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="490.5,499.97,494.5,490.97,490.5,494.97,486.5,490.97,490.5,499.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="491.5" y="466.0669">board == T4</text><!--MD5=[d831c87685770c4b5421553c9e07c620]
link StatusCheck to PowerUpInPorgress--><path d="M496.81,550.12 C501.75,565.12 509.93,583.96 522.5,597 C533.1,608 546.41,617.09 560.06,624.48 " fill="none" id="StatusCheck->PowerUpInPorgress" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="564.69,626.92,558.5856,619.191,560.2645,624.593,554.8625,626.2719,564.69,626.92" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="523.5" y="593.0669">modemActive</text><!--MD5=[5076860d7ea1929d04394078621bcf05]
link StatusCheck to PowerUpProcedure--><path d="M544.79,525 C580.93,525 629.12,525 669.97,525 " fill="none" id="StatusCheck->PowerUpProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="675.43,525,666.43,521,670.43,525,666.43,529,675.43,525" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="563" y="518.0669">!modemActive</text><!--MD5=[d397ed2e524c17c524214a6bc49619b6]
link PowerUpProcedure to CellularConfProcedure--><path d="M817.01,550.07 C829.98,557.75 842.17,567.58 850.5,580 C881.54,626.26 879.94,694.4 875.83,732.84 " fill="none" id="PowerUpProcedure->CellularConfProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="875.26,737.83,880.2402,729.3331,875.8184,732.8613,872.2902,728.4396,875.26,737.83" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="878.5" y="656.5669">hotStart</text><!--MD5=[c78ef4752e5fc097b033474b61fe6478]
link PowerUpProcedure to PowerUpInPorgress--><path d="M675.44,543.2 C656.64,551.21 638.73,562.91 627.5,580 C619.53,592.13 619.72,608.09 622.26,621.81 " fill="none" id="PowerUpProcedure->PowerUpInPorgress" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="623.29,626.75,625.3771,617.1248,622.2737,621.8544,617.5441,618.751,623.29,626.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="217" x="628.5" y="593.0669">coldStart || event: modem ACTIVE</text><!--MD5=[727c9e726932860737726ca6f5028085]
link PowerUpInPorgress to BaudDetect--><path d="M632.61,677.19 C633.36,693.56 634.36,715.28 635.15,732.64 " fill="none" id="PowerUpInPorgress->BaudDetect" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="635.39,737.88,638.9736,728.7063,635.161,732.8852,630.982,729.0726,635.39,737.88" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f6b42f2832973fdffd6f80cf1316681b]
link BaudDetect to CellularConfProcedure--><path d="M688.07,763 C714.77,763 748.17,763 779.13,763 " fill="none" id="BaudDetect->CellularConfProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="784.48,763,775.48,759,779.48,763,775.48,767,784.48,763" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="709.75" y="756.0669">Success</text><!--MD5=[fb0ab7093ebe96a0eb9a906c1d94f36d]
link BaudDetect to ModemFatalFailure--><path d="M661.89,788.25 C683.65,811.74 711.5,849.52 711.5,889 C711.5,889 711.5,889 711.5,1129 C711.5,1162.26 719.15,1199.75 725.43,1224.93 " fill="none" id="BaudDetect->ModemFatalFailure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="726.66,1229.79,728.3309,1220.0839,725.4339,1224.9427,720.5752,1222.0457,726.66,1229.79" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="712.5" y="1021.5669">Failure</text><!--MD5=[68f100448ff22dc026a7f78db7e4edea]
link CellularConfProcedure to AudioConfigurationProcedure--><path d="M916.04,788.1 C955.35,809.37 1012.56,840.33 1053.22,862.33 " fill="none" id="CellularConfProcedure->AudioConfigurationProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1058.1,864.97,1052.0752,857.1789,1053.6986,862.5978,1048.2796,864.2212,1058.1,864.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="1001.5" y="831.0669">Success</text><!--MD5=[5d7ae24bf63e4aed2a4253c65e46f11f]
link CellularConfProcedure to Failed--><path d="M864.79,788.11 C855.4,822.61 838.41,888.21 828.5,945 C826.11,958.7 824.28,974.02 822.98,986.91 " fill="none" id="CellularConfProcedure->Failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="822.48,991.91,827.3338,983.3403,822.9648,986.9336,819.3715,982.5646,822.48,991.91" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="845.5" y="894.5669">Failed</text><!--MD5=[8bec8aa94f11da26fdaa532b9e927b58]
link AudioConfigurationProcedure to AudioConfigurationProcedure--><path d="M1214.28,879.01 C1234.69,880.4 1249,884.07 1249,890 C1249,895.42 1237.04,898.95 1219.4,900.58 " fill="none" id="AudioConfigurationProcedure->AudioConfigurationProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1214.28,900.99,1223.5617,904.2839,1219.2651,900.6043,1222.9447,896.3077,1214.28,900.99" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="1255" y="894.5669">Failed</text><!--MD5=[f66ed35969f9ee770eed229d3a3a3084]
link AudioConfigurationProcedure to Failed--><path d="M990.69,904.68 C933.85,913.62 872.26,927 850.5,945 C837.81,955.5 830.39,972.31 826.1,986.95 " fill="none" id="AudioConfigurationProcedure->Failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="824.76,991.81,830.989,984.1812,826.0768,986.9865,823.2714,982.0743,824.76,991.81" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="279" x="851.5" y="958.0669">Baud setup fail | radio enabling/disabling fail</text><!--MD5=[82b15964c7ea4c9e08a8f2c3031886b6]
link AudioConfigurationProcedure to Idle--><path d="M1168,915.12 C1181.99,922.84 1195.53,932.68 1205.5,945 C1241.76,989.79 1252.27,1058.78 1255.3,1097.68 " fill="none" id="AudioConfigurationProcedure->Idle" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1255.66,1102.74,1258.9803,1093.4677,1255.2885,1097.7538,1251.0024,1094.062,1255.66,1102.74" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="74" x="1247.5" y="1021.5669">reset called</text><!--MD5=[0510a649553933047eef813e676d387c]
link AudioConfigurationProcedure to APNConfProcedure--><path d="M1127.91,915.08 C1139.46,929.03 1148.71,946.78 1139.5,962 C1132.81,973.06 1123.03,981.96 1112.12,989.1 " fill="none" id="AudioConfigurationProcedure->APNConfProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1107.72,991.85,1117.4707,990.4632,1111.9576,989.1962,1113.2246,983.683,1107.72,991.85" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="1143.5" y="958.0669">Success</text><!--MD5=[7ef9c75e84b5805cea2dd0fad20a72d8]
link APNConfProcedure to SanityCheck--><path d="M1013.2,1042.19 C997.02,1058.98 975.42,1081.41 958.49,1098.98 " fill="none" id="APNConfProcedure->SanityCheck" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="954.74,1102.88,963.8666,1099.1779,958.2107,1099.2808,958.1078,1093.6249,954.74,1102.88" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8c0f7218f4a51008def03317319fcc3d]
link SanityCheck to ModemOn--><path d="M931.5,1153.1 C931.5,1173.59 931.5,1203.08 931.5,1224.88 " fill="none" id="SanityCheck->ModemOn" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="931.5,1229.97,935.5,1220.97,931.5,1224.97,927.5,1220.97,931.5,1229.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="932.5" y="1196.0669">Success</text><!--MD5=[33f60799b5f26f20f5dd174f2ed7c1a3]
link SanityCheck to ModemFatalFailure--><path d="M893.32,1153.1 C859.77,1174.28 810.99,1205.08 776.16,1227.07 " fill="none" id="SanityCheck->ModemFatalFailure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="771.56,1229.97,781.3052,1228.5448,775.7871,1227.2995,777.0324,1221.7814,771.56,1229.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="844.5" y="1196.0669">Failure</text><!--MD5=[3905e8178637947b22a281c6f6af1a81]
link ModemOn to URCReady--><path d="M978,1255 C987.85,1255 997.7,1255 1007.55,1255 " fill="none" id="ModemOn->URCReady" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1012.7,1255,1003.7,1251,1007.7,1255,1003.7,1259,1012.7,1255" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b86a93dae48bca6b30f35403ce1d8717]
link SimInit to Failed--><path d="M308.03,896.88 C402.64,914.11 676.54,964.98 763.5,992 C770.75,994.25 778.34,997.09 785.53,1000.02 " fill="none" id="SimInit->Failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="790.44,1002.06,783.652,994.924,785.8196,1000.1491,780.5945,1002.3167,790.44,1002.06" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="637.5" y="958.0669">Failure</text><!--MD5=[b5461c294bec50186077517b36d4e59b]
link SimInit to Ready--><path d="M275.5,915.1 C275.5,935.59 275.5,965.08 275.5,986.88 " fill="none" id="SimInit->Ready" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="275.5,991.97,279.5,982.97,275.5,986.97,271.5,982.97,275.5,991.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="276.5" y="958.0669">Success</text><!--MD5=[bd7f44948400696f1debeec448c84662]
link PowerDownWaiting to PowerDown--><path d="M409.79,991.63 C388.61,968.05 361.5,930.2 361.5,891 C361.5,397 361.5,397 361.5,397 C361.5,337.21 425.01,298.11 474.17,276.81 " fill="none" id="PowerDownWaiting->PowerDown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="478.88,274.8,469.0324,274.6428,474.2791,276.7575,472.1644,282.0042,478.88,274.8" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="380" y="649.0669">(If T3 && timeout)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="151" x="366.5" y="664.1997">|| Event:modemInactive</text><!--MD5=[538f577aff9d45ee5f10c76efb758677]
link BaudDetect to PowerDownWaiting--><path d="M584.62,784.69 C549.22,801.35 503.95,828.1 476.5,865 C449.45,901.37 439.82,954.35 436.39,986.92 " fill="none" id="BaudDetect->PowerDownWaiting" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="435.89,991.96,440.7438,983.3903,436.3748,986.9836,432.7815,982.6146,435.89,991.96" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="203" x="477.5" y="887.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="496.5" y="902.1997">&& nextPowerState == off</text><!--MD5=[5e3dc1a5dd188e7541087c6526308b6e]
@startuml
skinparam BackgroundColor F0F0F0
[*] - -> 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.2020.02(Sun Mar 01 05:22:07 EST 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>