1*61c4878aSAndroid Build Coastguard Worker<!-- 2*61c4878aSAndroid Build Coastguard WorkerThis SVG was originally created with blockdiag. 3*61c4878aSAndroid Build Coastguard Worker 4*61c4878aSAndroid Build Coastguard Worker blockdiag { 5*61c4878aSAndroid Build Coastguard Worker default_fontsize = 14; 6*61c4878aSAndroid Build Coastguard Worker orientation = portrait; 7*61c4878aSAndroid Build Coastguard Worker 8*61c4878aSAndroid Build Coastguard Worker group { 9*61c4878aSAndroid Build Coastguard Worker color = "#AAAAAA"; 10*61c4878aSAndroid Build Coastguard Worker label = "Microcontroller" 11*61c4878aSAndroid Build Coastguard Worker 12*61c4878aSAndroid Build Coastguard Worker app [label = "App code"]; 13*61c4878aSAndroid Build Coastguard Worker facade [label = "pw_log"]; 14*61c4878aSAndroid Build Coastguard Worker backend [label = "pw_log_basic"]; 15*61c4878aSAndroid Build Coastguard Worker sys_io [label = "pw_sys_io"]; 16*61c4878aSAndroid Build Coastguard Worker sys_io_bm [label = "pw_sys_io_\nstm32f429"]; 17*61c4878aSAndroid Build Coastguard Worker uart [label = "UART pins"]; 18*61c4878aSAndroid Build Coastguard Worker } 19*61c4878aSAndroid Build Coastguard Worker ftdi [label = "FTDI cable"]; 20*61c4878aSAndroid Build Coastguard Worker computer [label = "Minicom"]; 21*61c4878aSAndroid Build Coastguard Worker 22*61c4878aSAndroid Build Coastguard Worker app -> facade -> backend -> sys_io -> sys_io_bm -> uart -> ftdi -> computer; 23*61c4878aSAndroid Build Coastguard Worker 24*61c4878aSAndroid Build Coastguard Worker //app -> facade [folded]; 25*61c4878aSAndroid Build Coastguard Worker //backend -> sys_io [folded]; 26*61c4878aSAndroid Build Coastguard Worker //uart -> ftdi [folded]; 27*61c4878aSAndroid Build Coastguard Worker } 28*61c4878aSAndroid Build Coastguard Worker--> 29*61c4878aSAndroid Build Coastguard Worker<svg height="680" viewBox="0 0 256 680" width="256" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink" style="background-color:white"> 30*61c4878aSAndroid Build Coastguard Worker<defs id="defs_block"> 31*61c4878aSAndroid Build Coastguard Worker<filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252"> 32*61c4878aSAndroid Build Coastguard Worker<feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2"></feGaussianBlur> 33*61c4878aSAndroid Build Coastguard Worker</filter> 34*61c4878aSAndroid Build Coastguard Worker</defs> 35*61c4878aSAndroid Build Coastguard Worker<title>Example pw_log Layer Diagram</title> 36*61c4878aSAndroid Build Coastguard Worker<desc></desc> 37*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(170,170,170)" height="460" style="filter:url(#filter_blur)" width="144" x="56" y="30"></rect> 38*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="46"></rect> 39*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="126"></rect> 40*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="206"></rect> 41*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="286"></rect> 42*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="366"></rect> 43*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="446"></rect> 44*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="526"></rect> 45*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="128" x="67" y="606"></rect> 46*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="40"></rect> 47*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="61" x="128.5" y="67">App code</text> 48*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="120"></rect> 49*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="128.5" y="147">pw_log</text> 50*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="200"></rect> 51*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="91" x="128.5" y="227">pw_log_basic</text> 52*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="280"></rect> 53*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="128.0" y="307">pw_sys_io</text> 54*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="360"></rect> 55*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="128.0" y="379">pw_sys_io_</text> 56*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="128.0" y="395">stm32f429</text> 57*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="440"></rect> 58*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="68" x="128.0" y="467">UART pins</text> 59*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="520"></rect> 60*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="128.0" y="547">FTDI cable</text> 61*61c4878aSAndroid Build Coastguard Worker<rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="128" x="64" y="600"></rect> 62*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="53" x="128.5" y="627">Minicom</text> 63*61c4878aSAndroid Build Coastguard Worker<path d="M 128 560 L 128 592" fill="none" stroke="rgb(0,0,0)"></path> 64*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,599 124,592 132,592 128,599" stroke="rgb(0,0,0)"></polygon> 65*61c4878aSAndroid Build Coastguard Worker<path d="M 128 80 L 128 112" fill="none" stroke="rgb(0,0,0)"></path> 66*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,119 124,112 132,112 128,119" stroke="rgb(0,0,0)"></polygon> 67*61c4878aSAndroid Build Coastguard Worker<path d="M 128 160 L 128 192" fill="none" stroke="rgb(0,0,0)"></path> 68*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,199 124,192 132,192 128,199" stroke="rgb(0,0,0)"></polygon> 69*61c4878aSAndroid Build Coastguard Worker<path d="M 128 240 L 128 272" fill="none" stroke="rgb(0,0,0)"></path> 70*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,279 124,272 132,272 128,279" stroke="rgb(0,0,0)"></polygon> 71*61c4878aSAndroid Build Coastguard Worker<path d="M 128 320 L 128 352" fill="none" stroke="rgb(0,0,0)"></path> 72*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,359 124,352 132,352 128,359" stroke="rgb(0,0,0)"></polygon> 73*61c4878aSAndroid Build Coastguard Worker<path d="M 128 400 L 128 432" fill="none" stroke="rgb(0,0,0)"></path> 74*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,439 124,432 132,432 128,439" stroke="rgb(0,0,0)"></polygon> 75*61c4878aSAndroid Build Coastguard Worker<path d="M 128 480 L 128 512" fill="none" stroke="rgb(0,0,0)"></path> 76*61c4878aSAndroid Build Coastguard Worker<polygon fill="rgb(0,0,0)" points="128,519 124,512 132,512 128,519" stroke="rgb(0,0,0)"></polygon> 77*61c4878aSAndroid Build Coastguard Worker<text fill="rgb(0,0,0)" font-family="sans-serif" font-size="14" font-style="normal" font-weight="normal" text-anchor="middle" textLength="114" x="128.0" y="37">Microcontroller</text> 78*61c4878aSAndroid Build Coastguard Worker</svg> 79