|
| 1 | +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.3.6 Chrome/140.0.7339.249 Electron/38.8.0 Safari/537.36" version="29.3.6"> |
| 2 | + <diagram name="LinuxCNC C1 - HAL Boundary View" id="hg-Ft9fOhNlRWeP2RBG8"> |
| 3 | + <mxGraphModel dx="1186" dy="831" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1000" pageHeight="800" background="none" math="0" shadow="0"> |
| 4 | + <root> |
| 5 | + <mxCell id="0" /> |
| 6 | + <mxCell id="1" parent="0" /> |
| 7 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;" value="CNC machine operator" vertex="1"> |
| 8 | + <mxGeometry height="81" width="200" x="81" y="39" as="geometry" /> |
| 9 | + </mxCell> |
| 10 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" value="GUI
Axis / Gmoccapy / Qt" vertex="1"> |
| 11 | + <mxGeometry height="80" width="200" x="81" y="158" as="geometry" /> |
| 12 | + </mxCell> |
| 13 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" value="LinuxCNC Core Runtime

• Motion controller
• Trajectory planner
• Kinematics
• Task controller
• G-code interpreter
• Status & command IPC" vertex="1"> |
| 14 | + <mxGeometry height="200" width="440" x="321" y="39" as="geometry" /> |
| 15 | + </mxCell> |
| 16 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-5" parent="1" style="whiteSpace=wrap;html=1;strokeWidth=3;fillColor=#ffe6cc;strokeColor=#d79b00;" value="HAL Interface Boundary
Pins · Signals · Threads · Functions" vertex="1"> |
| 17 | + <mxGeometry height="40" width="631" x="170" y="299" as="geometry" /> |
| 18 | + </mxCell> |
| 19 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-6" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" value="HAL Configuration
(.hal files, loadrt, nets)

Integrator-defined topology" vertex="1"> |
| 20 | + <mxGeometry height="99" width="181" x="220" y="379" as="geometry" /> |
| 21 | + </mxCell> |
| 22 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-25" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=none;startFill=0;" target="nIgP8kuDs4C2zodZy1t4-9" value=""> |
| 23 | + <mxGeometry relative="1" as="geometry" /> |
| 24 | + </mxCell> |
| 25 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-36" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;" target="nIgP8kuDs4C2zodZy1t4-29"> |
| 26 | + <mxGeometry relative="1" as="geometry"> |
| 27 | + <Array as="points"> |
| 28 | + <mxPoint x="350" y="728" /> |
| 29 | + <mxPoint x="861" y="728" /> |
| 30 | + </Array> |
| 31 | + <mxPoint x="261" y="728" as="targetPoint" /> |
| 32 | + </mxGeometry> |
| 33 | + </mxCell> |
| 34 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-9" connectable="0" parent="nIgP8kuDs4C2zodZy1t4-36" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="For more complicated machines" vertex="1"> |
| 35 | + <mxGeometry relative="1" x="0.189" y="-1" as="geometry"> |
| 36 | + <mxPoint x="15" y="-10" as="offset" /> |
| 37 | + </mxGeometry> |
| 38 | + </mxCell> |
| 39 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-41" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;dashed=1;" target="nIgP8kuDs4C2zodZy1t4-38"> |
| 40 | + <mxGeometry relative="1" as="geometry" /> |
| 41 | + </mxCell> |
| 42 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-7" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;" value="Integrator
(machine builder)" vertex="1"> |
| 43 | + <mxGeometry height="60" width="131" x="250" y="578" as="geometry" /> |
| 44 | + </mxCell> |
| 45 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-31" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" target="nIgP8kuDs4C2zodZy1t4-8"> |
| 46 | + <mxGeometry relative="1" as="geometry"> |
| 47 | + <Array as="points"> |
| 48 | + <mxPoint x="730" y="459" /> |
| 49 | + <mxPoint x="730" y="459" /> |
| 50 | + </Array> |
| 51 | + </mxGeometry> |
| 52 | + </mxCell> |
| 53 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-32" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.002;entryY=0.197;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryPerimeter=0;" target="nIgP8kuDs4C2zodZy1t4-8"> |
| 54 | + <mxGeometry relative="1" as="geometry"> |
| 55 | + <Array as="points"> |
| 56 | + <mxPoint x="741" y="399" /> |
| 57 | + </Array> |
| 58 | + <mxPoint x="731" y="398" as="targetPoint" /> |
| 59 | + </mxGeometry> |
| 60 | + </mxCell> |
| 61 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-8" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" value="HAL Modules<br>(drivers, counters, stepgens, logic)" vertex="1"> |
| 62 | + <mxGeometry height="100" width="280" x="441" y="379" as="geometry" /> |
| 63 | + </mxCell> |
| 64 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-9" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#eeeeee;strokeColor=#36393d;" value="Machine Hardware
(axes, spindle, IO, safety)" vertex="1"> |
| 65 | + <mxGeometry height="180" width="160" x="421" y="518" as="geometry" /> |
| 66 | + </mxCell> |
| 67 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-10" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-2" style="endArrow=block;html=1;startArrow=block;startFill=1;" target="nIgP8kuDs4C2zodZy1t4-3"> |
| 68 | + <mxGeometry relative="1" as="geometry" /> |
| 69 | + </mxCell> |
| 70 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-11" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-3" style="endArrow=block;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.001;entryY=0.793;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=block;startFill=1;" target="nIgP8kuDs4C2zodZy1t4-4"> |
| 71 | + <mxGeometry relative="1" as="geometry" /> |
| 72 | + </mxCell> |
| 73 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-12" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-7" style="endArrow=block;html=1;startArrow=none;startFill=0;exitX=0.471;exitY=-0.024;exitDx=0;exitDy=0;exitPerimeter=0;" target="nIgP8kuDs4C2zodZy1t4-6"> |
| 74 | + <mxGeometry relative="1" as="geometry" /> |
| 75 | + </mxCell> |
| 76 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-13" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-6" style="endArrow=block;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.222;entryY=1.025;entryDx=0;entryDy=0;entryPerimeter=0;" target="nIgP8kuDs4C2zodZy1t4-5"> |
| 77 | + <mxGeometry relative="1" as="geometry"> |
| 78 | + <mxPoint x="261" y="341" as="targetPoint" /> |
| 79 | + </mxGeometry> |
| 80 | + </mxCell> |
| 81 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-14" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-8" style="endArrow=block;html=1;startArrow=block;startFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;"> |
| 82 | + <mxGeometry relative="1" as="geometry"> |
| 83 | + <mxPoint x="581" y="338" as="targetPoint" /> |
| 84 | + </mxGeometry> |
| 85 | + </mxCell> |
| 86 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-15" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-8" style="endArrow=block;html=1;startArrow=block;startFill=1;exitX=0.211;exitY=1.02;exitDx=0;exitDy=0;exitPerimeter=0;"> |
| 87 | + <mxGeometry relative="1" as="geometry"> |
| 88 | + <mxPoint x="500" y="518" as="targetPoint" /> |
| 89 | + </mxGeometry> |
| 90 | + </mxCell> |
| 91 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-16" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" target="nIgP8kuDs4C2zodZy1t4-4" value=""> |
| 92 | + <mxGeometry height="50" relative="1" width="50" as="geometry"> |
| 93 | + <mxPoint x="541" y="298" as="sourcePoint" /> |
| 94 | + <mxPoint x="511" y="279" as="targetPoint" /> |
| 95 | + </mxGeometry> |
| 96 | + </mxCell> |
| 97 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-18" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-22" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;" target="nIgP8kuDs4C2zodZy1t4-2" value=""> |
| 98 | + <mxGeometry height="50" relative="1" width="50" as="geometry"> |
| 99 | + <Array as="points"> |
| 100 | + <mxPoint x="681" y="758" /> |
| 101 | + <mxPoint x="321" y="758" /> |
| 102 | + <mxPoint x="41" y="758" /> |
| 103 | + <mxPoint x="41" y="79" /> |
| 104 | + </Array> |
| 105 | + <mxPoint x="521" y="698" as="sourcePoint" /> |
| 106 | + <mxPoint x="41" y="-51" as="targetPoint" /> |
| 107 | + </mxGeometry> |
| 108 | + </mxCell> |
| 109 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-8" connectable="0" parent="nIgP8kuDs4C2zodZy1t4-18" style="edgeLabel;html=1;align=left;verticalAlign=bottom;resizable=0;points=[];labelPosition=right;verticalLabelPosition=top;" value="Optional" vertex="1"> |
| 110 | + <mxGeometry relative="1" x="-0.339" as="geometry"> |
| 111 | + <mxPoint as="offset" /> |
| 112 | + </mxGeometry> |
| 113 | + </mxCell> |
| 114 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-21" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" target="nIgP8kuDs4C2zodZy1t4-9"> |
| 115 | + <mxGeometry relative="1" as="geometry" /> |
| 116 | + </mxCell> |
| 117 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-22" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#eeeeee;strokeColor=#36393d;dashed=1;" value="Machine Hardware<br>(Panels, buttons, potentiometers)" vertex="1"> |
| 118 | + <mxGeometry height="180" width="160" x="601" y="518" as="geometry" /> |
| 119 | + </mxCell> |
| 120 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-24" edge="1" parent="1" style="endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0.856;entryY=1.013;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" target="nIgP8kuDs4C2zodZy1t4-8" value=""> |
| 121 | + <mxGeometry height="50" relative="1" width="50" as="geometry"> |
| 122 | + <mxPoint x="681" y="518" as="sourcePoint" /> |
| 123 | + <mxPoint x="731" y="469" as="targetPoint" /> |
| 124 | + </mxGeometry> |
| 125 | + </mxCell> |
| 126 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-34" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" target="nIgP8kuDs4C2zodZy1t4-27"> |
| 127 | + <mxGeometry relative="1" as="geometry" /> |
| 128 | + </mxCell> |
| 129 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-43" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" target="nIgP8kuDs4C2zodZy1t4-3"> |
| 130 | + <mxGeometry relative="1" as="geometry"> |
| 131 | + <Array as="points"> |
| 132 | + <mxPoint x="830" y="269" /> |
| 133 | + <mxPoint x="181" y="269" /> |
| 134 | + </Array> |
| 135 | + </mxGeometry> |
| 136 | + </mxCell> |
| 137 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-26" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;" value="Developers / Testers" vertex="1"> |
| 138 | + <mxGeometry height="80" width="120" x="801" y="118" as="geometry" /> |
| 139 | + </mxCell> |
| 140 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-27" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" value="HAL Components - Library" vertex="1"> |
| 141 | + <mxGeometry height="40" width="200" x="761" y="379" as="geometry" /> |
| 142 | + </mxCell> |
| 143 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-29" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;dashed=1;" value="HAL Components - Custom" vertex="1"> |
| 144 | + <mxGeometry height="40" width="200" x="761" y="439" as="geometry" /> |
| 145 | + </mxCell> |
| 146 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-33" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.6;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0;exitY=0.514;exitDx=0;exitDy=0;exitPerimeter=0;" target="nIgP8kuDs4C2zodZy1t4-4"> |
| 147 | + <mxGeometry relative="1" as="geometry" /> |
| 148 | + </mxCell> |
| 149 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-42" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;dashed=1;"> |
| 150 | + <mxGeometry relative="1" as="geometry"> |
| 151 | + <Array as="points"> |
| 152 | + <mxPoint x="220" y="659" /> |
| 153 | + <mxPoint x="220" y="529" /> |
| 154 | + <mxPoint x="270" y="529" /> |
| 155 | + </Array> |
| 156 | + <mxPoint x="270" y="479" as="targetPoint" /> |
| 157 | + </mxGeometry> |
| 158 | + </mxCell> |
| 159 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-2" edge="1" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;"> |
| 160 | + <mxGeometry relative="1" as="geometry"> |
| 161 | + <Array as="points"> |
| 162 | + <mxPoint x="130" y="508" /> |
| 163 | + <mxPoint x="130" y="508" /> |
| 164 | + </Array> |
| 165 | + <mxPoint x="130.02857142857135" y="658" as="sourcePoint" /> |
| 166 | + <mxPoint x="130" y="478" as="targetPoint" /> |
| 167 | + </mxGeometry> |
| 168 | + </mxCell> |
| 169 | + <mxCell id="nIgP8kuDs4C2zodZy1t4-38" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;dashed=1;" value="Wizards<div>PNCconf / Stepconf</div>" vertex="1"> |
| 170 | + <mxGeometry height="60" width="200" x="81" y="659" as="geometry" /> |
| 171 | + </mxCell> |
| 172 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-4" edge="1" parent="1" source="R6Wb_xS_bgafuBxYuA12-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" target="nIgP8kuDs4C2zodZy1t4-4"> |
| 173 | + <mxGeometry relative="1" as="geometry"> |
| 174 | + <Array as="points"> |
| 175 | + <mxPoint x="145" y="289" /> |
| 176 | + <mxPoint x="431" y="289" /> |
| 177 | + </Array> |
| 178 | + </mxGeometry> |
| 179 | + </mxCell> |
| 180 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-6" edge="1" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.018;entryY=1.039;entryDx=0;entryDy=0;entryPerimeter=0;" target="nIgP8kuDs4C2zodZy1t4-5"> |
| 181 | + <mxGeometry relative="1" as="geometry"> |
| 182 | + <Array as="points"> |
| 183 | + <mxPoint x="181" y="391" /> |
| 184 | + <mxPoint x="181" y="353" /> |
| 185 | + <mxPoint x="181" y="353" /> |
| 186 | + </Array> |
| 187 | + <mxPoint x="178.76" y="391" as="sourcePoint" /> |
| 188 | + <mxPoint x="183.24899999999997" y="353" as="targetPoint" /> |
| 189 | + </mxGeometry> |
| 190 | + </mxCell> |
| 191 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" value="INI Configuration" vertex="1"> |
| 192 | + <mxGeometry height="99" width="130" x="80" y="379" as="geometry" /> |
| 193 | + </mxCell> |
| 194 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-3" edge="1" parent="1" source="nIgP8kuDs4C2zodZy1t4-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.69;entryY=1.007;entryDx=0;entryDy=0;entryPerimeter=0;" target="R6Wb_xS_bgafuBxYuA12-1"> |
| 195 | + <mxGeometry relative="1" as="geometry" /> |
| 196 | + </mxCell> |
| 197 | + <mxCell id="R6Wb_xS_bgafuBxYuA12-5" edge="1" parent="1" source="R6Wb_xS_bgafuBxYuA12-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.161;entryY=1.012;entryDx=0;entryDy=0;entryPerimeter=0;" target="nIgP8kuDs4C2zodZy1t4-3"> |
| 198 | + <mxGeometry relative="1" as="geometry" /> |
| 199 | + </mxCell> |
| 200 | + </root> |
| 201 | + </mxGraphModel> |
| 202 | + </diagram> |
| 203 | +</mxfile> |
0 commit comments