<?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="514px" preserveAspectRatio="none" style="width:1246px;height:514px;" version="1.1" viewBox="0 0 1246 514" width="1246px" zoomAndPan="magnify"><defs><filter height="300%" id="f1tv0e0kd571ez" 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><line style="stroke: #A80036; stroke-width: 1.0;" x1="69" x2="69" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="69" x2="69" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69" x2="69" y1="318.1641" y2="473.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272" x2="272" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="272" x2="272" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272" x2="272" y1="318.1641" y2="473.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="495.5" x2="495.5" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="495.5" x2="495.5" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="495.5" x2="495.5" y1="318.1641" y2="473.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="699" x2="699" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="699" x2="699" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="699" x2="699" y1="318.1641" y2="473.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="813" x2="813" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="813" x2="813" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="813" x2="813" y1="318.1641" y2="473.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="920" x2="920" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="920" x2="920" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="920" x2="920" y1="318.1641" y2="473.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1097.5" x2="1097.5" y1="38.2969" y2="277.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="1097.5" x2="1097.5" y1="277.3594" y2="318.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1097.5" x2="1097.5" y1="318.1641" y2="473.8281"/><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="15" y="22.9951">service_cellular</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="8" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="15" y="492.8232">service_cellular</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="211" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="218" y="22.9951">cellularSentinel</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="211" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="218" y="492.8232">cellularSentinel</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="435.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="442.5" y="22.9951">PowerManager</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="435.5" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="442.5" y="492.8232">PowerManager</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="644" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="651" y="22.9951">CpuGovernor</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="644" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="651" y="492.8232">CpuGovernor</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="764" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="771" y="22.9951">bsp_cellular</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="764" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="771" y="492.8232">bsp_cellular</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="873" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="76" x="880" y="22.9951">driverUART</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="873" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="76" x="880" y="492.8232">driverUART</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="1046.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="1053.5" y="22.9951">clock_config</text><rect fill="#FEFECE" filter="url(#f1tv0e0kd571ez)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="1046.5" y="472.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="1053.5" y="492.8232">clock_config</text><polygon fill="#A80036" points="260,65.4297,270,69.4297,260,73.4297,264,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69" x2="266" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="76" y="64.3638">SetFrequencyValueRequest</text><polygon fill="#A80036" points="484,94.5625,494,98.5625,484,102.5625,488,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272" x2="490" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="279" y="93.4966">RequestCpuFrequencyMessage</text><polygon fill="#A80036" points="687,123.6953,697,127.6953,687,131.6953,691,127.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="496" x2="693" y1="127.6953" y2="127.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="165" x="503" y="122.6294">SetCpuFrequencyRequest</text><polygon fill="#A80036" points="801.5,152.8281,811.5,156.8281,801.5,160.8281,805.5,156.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69" x2="807.5" y1="156.8281" y2="156.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="76" y="151.7622">wakeUp</text><polygon fill="#A80036" points="908,181.9609,918,185.9609,908,189.9609,912,185.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="813.5" x2="914" y1="185.9609" y2="185.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="820.5" y="180.895">Enable</text><polygon fill="#A80036" points="1086,223.6602,1096,227.6602,1086,231.6602,1090,227.6602" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="920" x2="1092" y1="227.6602" y2="227.6602"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="927" y="222.5942">ExternalOscillatorEnable</text><path d="M1103,198.9609 L1103,238.9609 L1234,238.9609 L1234,208.9609 L1224,198.9609 L1103,198.9609 " fill="#FBFB77" filter="url(#f1tv0e0kd571ez)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1224,198.9609 L1224,208.9609 L1234,208.9609 L1224,198.9609 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="98" x="1109" y="216.0278">Critical section!</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="1109" y="231.1606">mutex necessary</text><polygon fill="#A80036" points="1086,265.3594,1096,269.3594,1086,273.3594,1090,269.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="920" x2="1092" y1="269.3594" y2="269.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="927" y="264.2935">UARTClockEnable</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="554.5" y="301.5698">call ended</text><polygon fill="#A80036" points="908,335.2969,918,339.2969,908,343.2969,912,339.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="813.5" x2="914" y1="339.2969" y2="339.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="47" x="820.5" y="334.231">Disable</text><polygon fill="#A80036" points="1086,364.4297,1096,368.4297,1086,372.4297,1090,368.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="920" x2="1092" y1="368.4297" y2="368.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="927" y="363.3638">UARTClockDisable</text><polygon fill="#A80036" points="260,393.5625,270,397.5625,260,401.5625,264,397.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69" x2="266" y1="397.5625" y2="397.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="76" y="392.4966">ResetCpuFrequencyRequest</text><polygon fill="#A80036" points="484,422.6953,494,426.6953,484,430.6953,488,426.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272" x2="490" y1="426.6953" y2="426.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="279" y="421.6294">RequestCpuFrequencyMessage</text><polygon fill="#A80036" points="687,451.8281,697,455.8281,687,459.8281,691,455.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="496" x2="693" y1="455.8281" y2="455.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="503" y="450.7622">ResetCpuFrequencyRequest</text><!--MD5=[6fcf4d81c1fbb048db22def46a2b620c]
@startuml
service_cellular -> cellularSentinel : SetFrequencyValueRequest
cellularSentinel -> PowerManager : RequestCpuFrequencyMessage
PowerManager -> CpuGovernor : SetCpuFrequencyRequest
service_cellular -> bsp_cellular : wakeUp
bsp_cellular -> driverUART : Enable
driverUART -> clock_config : ExternalOscillatorEnable
note right
Critical section!
mutex necessary
end note
driverUART -> clock_config : UARTClockEnable
...call ended...
bsp_cellular -> driverUART : Disable
driverUART -> clock_config : UARTClockDisable
service_cellular -> cellularSentinel : ResetCpuFrequencyRequest
cellularSentinel -> PowerManager : RequestCpuFrequencyMessage
PowerManager -> CpuGovernor : ResetCpuFrequencyRequest
@enduml
PlantUML version 1.2019.11(Sun Sep 22 12:02:15 CEST 2019)
(EPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 14.0.2+12-46
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
--></g></svg>