Rework README, Minor changes to function-diagram
- Create actual readme describing the project - Add photo - Change project name - Minor change in function-diagram for section used at website
This commit is contained in:
		
							parent
							
								
									5cf4b31ff0
								
							
						
					
					
						commit
						d08b629a0f
					
				| @ -6,4 +6,4 @@ cmake_minimum_required(VERSION 3.5) | |||||||
| 
 | 
 | ||||||
| #set(EXTRA_COMPONENT_DIRS ../esp-idf-lib/components) | #set(EXTRA_COMPONENT_DIRS ../esp-idf-lib/components) | ||||||
| include($ENV{IDF_PATH}/tools/cmake/project.cmake) | include($ENV{IDF_PATH}/tools/cmake/project.cmake) | ||||||
| project(cable-length-cutting) | project(cable-length-cutter) | ||||||
|  | |||||||
							
								
								
									
										82
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								README.md
									
									
									
									
									
								
							| @ -1,10 +1,42 @@ | |||||||
| # Hardware | # Overview | ||||||
| ## connection plan | Firmware and documentation of a custom built machine that winds and cuts cable to certain lengths.   | ||||||
| See [connection-plan.pdf](connection-plan.pdf)   | Extensive details about this project can be found on the website: [pfusch.zone/cable-length-cutter](https://pfusch.zone/cable-length-cutter) | ||||||
|  | 
 | ||||||
|  | <img src="img/cable-length-cutter.jpg" alt="Photo machine" style="width:60%;"> | ||||||
|  | 
 | ||||||
|  | Photo of the built machine | ||||||
|  | 
 | ||||||
|  | ## Current Features | ||||||
|  | - Measure length using rotary encoder | ||||||
|  | - Wind to set length while start-button is pressed | ||||||
|  | - Automatic wire cutter | ||||||
|  | - Control interface: | ||||||
|  |   - 2x 7-Segment display showing lengths and notifications | ||||||
|  |   - Buzzer for acoustic notifications | ||||||
|  |   - 4 Buttons and Potentiometer for setting the target length | ||||||
|  |   - Reset and Cut Button | ||||||
|  | - Stepper motor controlling a linear axis guiding the cable while winding | ||||||
|  | - Store last axis position at shutdown | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Usage | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Electrical Details | ||||||
|  | For detailed documentation of all electrical aspects, see [connection-plan.pdf](connection-plan.pdf). | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Printed Parts | ||||||
|  | All designed and 3D-printed parts can be found in the [cad/](cad/) folder. These parts were designed using FreeCAD. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Components | # Components | ||||||
| ## rotary encoder LPD3806-600BM-G5-24C | ### Custom pcb with ESP-32 microcontroller | ||||||
|  | See [connection-plan.pdf](connection-plan.pdf)   | ||||||
|  | 
 | ||||||
|  | ### Rotary encoder LPD3806-600BM-G5-24C | ||||||
|  | ``` | ||||||
| - Pulses: 600 p/r (Single-phase 600 pulses /R,Two phase 4 frequency doubling to 2400 pulses) | - Pulses: 600 p/r (Single-phase 600 pulses /R,Two phase 4 frequency doubling to 2400 pulses) | ||||||
| - Power source: DC5-24V | - Power source: DC5-24V | ||||||
| - Shaft: 6*13mm/0.23*0.51" | - Shaft: 6*13mm/0.23*0.51" | ||||||
| @ -15,4 +47,46 @@ See [connection-plan.pdf](connection-plan.pdf) | |||||||
| - Cable length: 1.5 meter | - Cable length: 1.5 meter | ||||||
| - size: http://domoticx.com/wp-content/uploads/2020/05/LPD3806-afmetingen.jpg | - size: http://domoticx.com/wp-content/uploads/2020/05/LPD3806-afmetingen.jpg | ||||||
| - Wires: Green = A phase, white = B phase, red = Vcc power +, black = V0 | - Wires: Green = A phase, white = B phase, red = Vcc power +, black = V0 | ||||||
|  | ``` | ||||||
|  | ### Variable Frequency Drive T13-400W-12-H | ||||||
|  | See [docs/vfd/](docs/vfd/) | ||||||
| 
 | 
 | ||||||
|  | ### Stepper-driver TB6600 | ||||||
|  | See [docs/stepper-driver_TB6600-Manual.pdf](docs/stepper-driver_TB6600-Manual.pdf) | ||||||
|  | 
 | ||||||
|  | ### Linear Axis with Nema-12 28HB40 Stepper | ||||||
|  | See [connection-plan.pdf](connection-plan.pdf)   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Installation | ||||||
|  | For this project **ESP-IDF v4.4.4** is required (with other versions it might not compile) | ||||||
|  | ```bash | ||||||
|  | #download esp-idf | ||||||
|  | yay -S esp-idf #alternatively clone the esp-idf repository from github | ||||||
|  | #run installation script in installed folder | ||||||
|  | /opt/esp-idf/install.sh | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | # Build | ||||||
|  | ### Set up environment | ||||||
|  | ```bash | ||||||
|  | source /opt/esp-idf/export.sh | ||||||
|  | ``` | ||||||
|  | (run once per terminal) | ||||||
|  | 
 | ||||||
|  | ### Compile | ||||||
|  | ```bash | ||||||
|  | cd board_single | ||||||
|  | idf.py build | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | # Flash | ||||||
|  | - connect FTDI programmer to board (VCC to VCC; TX to RX; RX to TX) | ||||||
|  | - press REST and BOOT button | ||||||
|  | - release RESET button (keep pressing boot) | ||||||
|  | - run flash command: | ||||||
|  | ```bash | ||||||
|  | idf.py flash | ||||||
|  | ``` | ||||||
| @ -1,6 +1,6 @@ | |||||||
| <mxfile host="Electron" modified="2023-04-24T10:25:15.632Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="MGrY-6I6opffbVIVdFHA" version="21.1.2" type="device" pages="2"> | <mxfile host="Electron" modified="2024-03-14T10:08:17.453Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.2.5 Safari/537.36" etag="IGTPBlitl9d9z0sPWQV8" version="23.1.5" type="device" pages="2"> | ||||||
|   <diagram id="pYACIs8yIpksGCPkkI0E" name="control, cutter, buttons, encoder"> |   <diagram id="pYACIs8yIpksGCPkkI0E" name="control, cutter, buttons, encoder"> | ||||||
|     <mxGraphModel dx="1240" dy="730" grid="1" gridSize="5" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0"> |     <mxGraphModel dx="1194" dy="741" grid="1" gridSize="5" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0"> | ||||||
|       <root> |       <root> | ||||||
|         <mxCell id="0" /> |         <mxCell id="0" /> | ||||||
|         <mxCell id="1" parent="0" /> |         <mxCell id="1" parent="0" /> | ||||||
| @ -25,7 +25,7 @@ | |||||||
|         <mxCell id="Jo9Ue6hLqtK935TEgpBK-28" value="SW_RESET.state" style="rhombus;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-22" vertex="1"> |         <mxCell id="Jo9Ue6hLqtK935TEgpBK-28" value="SW_RESET.state" style="rhombus;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-22" vertex="1"> | ||||||
|           <mxGeometry x="120" y="110" width="120" height="70" as="geometry" /> |           <mxGeometry x="120" y="110" width="120" height="70" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="Jo9Ue6hLqtK935TEgpBK-29" value="// lengthNow = 0<br>encoder_reset()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-22" vertex="1"> |         <mxCell id="Jo9Ue6hLqtK935TEgpBK-29" value="// lengthNow = 0<br>encoder_reset()<br>guide_moveToZero()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-22" vertex="1"> | ||||||
|           <mxGeometry x="120" y="240" width="120" height="60" as="geometry" /> |           <mxGeometry x="120" y="240" width="120" height="60" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="Jo9Ue6hLqtK935TEgpBK-30" value="true" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-22" source="Jo9Ue6hLqtK935TEgpBK-28" target="Jo9Ue6hLqtK935TEgpBK-29" edge="1"> |         <mxCell id="Jo9Ue6hLqtK935TEgpBK-30" value="true" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-22" source="Jo9Ue6hLqtK935TEgpBK-28" target="Jo9Ue6hLqtK935TEgpBK-29" edge="1"> | ||||||
| @ -205,7 +205,7 @@ | |||||||
|           </mxGeometry> |           </mxGeometry> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-2" value="autoCutEnabled == true" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="Jo9Ue6hLqtK935TEgpBK-20" target="1-PaxUM0a53oYDua-TxR-1" edge="1"> |         <mxCell id="1-PaxUM0a53oYDua-TxR-2" value="autoCutEnabled == true" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="Jo9Ue6hLqtK935TEgpBK-20" target="1-PaxUM0a53oYDua-TxR-1" edge="1"> | ||||||
|           <mxGeometry x="-0.4778" y="6" relative="1" as="geometry"> |           <mxGeometry x="-0.6954" y="6" relative="1" as="geometry"> | ||||||
|             <Array as="points"> |             <Array as="points"> | ||||||
|               <mxPoint x="299" y="1100" /> |               <mxPoint x="299" y="1100" /> | ||||||
|               <mxPoint x="267" y="1100" /> |               <mxPoint x="267" y="1100" /> | ||||||
| @ -230,11 +230,11 @@ | |||||||
|         <mxCell id="8zFeNdrfwlNlW0LlzPxK-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="Jo9Ue6hLqtK935TEgpBK-19" target="Avus2w3zFXZjXSa-NAtZ-22" edge="1"> |         <mxCell id="8zFeNdrfwlNlW0LlzPxK-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="Jo9Ue6hLqtK935TEgpBK-19" target="Avus2w3zFXZjXSa-NAtZ-22" edge="1"> | ||||||
|           <mxGeometry relative="1" as="geometry" /> |           <mxGeometry relative="1" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="8zFeNdrfwlNlW0LlzPxK-14" value="wind at dynamic speed<br>(slower speed when closer to target)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="8zFeNdrfwlNlW0LlzPxK-14" value="wind at dynamic speed<br>(slower speed when closer to target)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=none;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="67" y="839" width="125" height="50" as="geometry" /> |           <mxGeometry x="67" y="824" width="125" height="50" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="E9gbP4vXqY4O4zoDVCtS-5" value="<font color="#990000">todo: <br><div style="">- reverse when target exceeded?</div><br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="E9gbP4vXqY4O4zoDVCtS-5" value="<font color="#990000">todo:&nbsp;</font><span style="color: rgb(153, 0, 0);">reverse when target exceeded?</span><font color="#990000"><br><br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=none;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="352.5" y="976.5" width="182.5" height="45" as="geometry" /> |           <mxGeometry x="373.75" y="976.5" width="206.25" height="45" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="E9gbP4vXqY4O4zoDVCtS-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="E9gbP4vXqY4O4zoDVCtS-8" target="Jo9Ue6hLqtK935TEgpBK-18" edge="1"> |         <mxCell id="E9gbP4vXqY4O4zoDVCtS-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="E9gbP4vXqY4O4zoDVCtS-8" target="Jo9Ue6hLqtK935TEgpBK-18" edge="1"> | ||||||
|           <mxGeometry relative="1" as="geometry" /> |           <mxGeometry relative="1" as="geometry" /> | ||||||
| @ -348,13 +348,13 @@ | |||||||
|           <mxGeometry relative="1" as="geometry" /> |           <mxGeometry relative="1" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="Avus2w3zFXZjXSa-NAtZ-22" value="checkStopCondition()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="Avus2w3zFXZjXSa-NAtZ-22" value="checkStopCondition()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="405" y="836.5" width="130" height="25" as="geometry" /> |           <mxGeometry x="401.25" y="836.5" width="130" height="25" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="Jo9Ue6hLqtK935TEgpBK-25" value="<font color="#0000ff">start counting (no motor)<br>(pull and attach wire manually to spool)</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="Jo9Ue6hLqtK935TEgpBK-25" value="<font color="#0000ff">start counting (no motor)<br>(pull and attach wire manually to spool)</font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="53.5" y="390" width="138.5" height="78.5" as="geometry" /> |           <mxGeometry x="53.5" y="390" width="138.5" height="78.5" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="8zFeNdrfwlNlW0LlzPxK-15" value="start or resume slow for some time<br>(time for verifying it spools correctly)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="8zFeNdrfwlNlW0LlzPxK-15" value="start or resume slow for some time<br>(time for verifying it winds correctly)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=none;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="63.75" y="649" width="109.5" height="50" as="geometry" /> |           <mxGeometry x="75" y="644" width="109.5" height="56" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="Avus2w3zFXZjXSa-NAtZ-34" value="<font color="#0000ff">manually control the motor via preset buttons and potentiometer<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="Avus2w3zFXZjXSa-NAtZ-34" value="<font color="#0000ff">manually control the motor via preset buttons and potentiometer<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="817.75" y="648.25" width="138.5" height="78.5" as="geometry" /> |           <mxGeometry x="817.75" y="648.25" width="138.5" height="78.5" as="geometry" /> | ||||||
| @ -362,24 +362,6 @@ | |||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-5" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="aTO7ynV6Y0lAHxoPAONt-5" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="696.75" y="535" width="79" height="28.5" as="geometry" /> |           <mxGeometry x="696.75" y="535" width="79" height="28.5" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-12" value="WINDING" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="aTO7ynV6Y0lAHxoPAONt-11" target="Avus2w3zFXZjXSa-NAtZ-22" edge="1"> |  | ||||||
|           <mxGeometry relative="1" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-11" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |  | ||||||
|           <mxGeometry x="430.5" y="774" width="79" height="28.5" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-14" value="WINDING_START" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="aTO7ynV6Y0lAHxoPAONt-13" target="Avus2w3zFXZjXSa-NAtZ-16" edge="1"> |  | ||||||
|           <mxGeometry relative="1" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-13" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |  | ||||||
|           <mxGeometry x="430.5" y="595" width="79" height="28.5" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-16" value="COUNTING" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="aTO7ynV6Y0lAHxoPAONt-15" target="Avus2w3zFXZjXSa-NAtZ-4" edge="1"> |  | ||||||
|           <mxGeometry relative="1" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-15" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |  | ||||||
|           <mxGeometry x="429" y="390" width="79" height="28.5" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-17" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="aTO7ynV6Y0lAHxoPAONt-17" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="945.37" y="430" width="79" height="28.5" as="geometry" /> |           <mxGeometry x="945.37" y="430" width="79" height="28.5" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
| @ -417,15 +399,15 @@ | |||||||
|             <mxPoint x="265" y="960" as="sourcePoint" /> |             <mxPoint x="265" y="960" as="sourcePoint" /> | ||||||
|             <mxPoint x="315" y="910" as="targetPoint" /> |             <mxPoint x="315" y="910" as="targetPoint" /> | ||||||
|             <Array as="points"> |             <Array as="points"> | ||||||
|               <mxPoint x="438" y="875" /> |               <mxPoint x="434" y="875" /> | ||||||
|               <mxPoint x="360" y="875" /> |               <mxPoint x="360" y="875" /> | ||||||
|               <mxPoint x="360" y="900" /> |               <mxPoint x="360" y="915" /> | ||||||
|               <mxPoint x="263" y="900" /> |               <mxPoint x="263" y="915" /> | ||||||
|             </Array> |             </Array> | ||||||
|           </mxGeometry> |           </mxGeometry> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-55" value="setDynSpeedLvl()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="aTO7ynV6Y0lAHxoPAONt-55" value="setDynSpeedLvl()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="403.5" y="893" width="130" height="25" as="geometry" /> |           <mxGeometry x="401.25" y="882.5" width="130" height="25" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="8zFeNdrfwlNlW0LlzPxK-2" value="lengthRemaining" style="rhombus;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="8zFeNdrfwlNlW0LlzPxK-2" value="lengthRemaining" style="rhombus;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="736.88" y="105" width="130" height="60" as="geometry" /> |           <mxGeometry x="736.88" y="105" width="130" height="60" as="geometry" /> | ||||||
| @ -501,8 +483,8 @@ | |||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-63" value="setDynSpeedLvl(1)" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="aTO7ynV6Y0lAHxoPAONt-63" value="setDynSpeedLvl(1)" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="403.5" y="704" width="130" height="25" as="geometry" /> |           <mxGeometry x="403.5" y="704" width="130" height="25" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="aTO7ynV6Y0lAHxoPAONt-66" value="limit speed lvl to 1<br style="font-size: 9px;">can be slower if close though" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=#FFFFFF;fontSize=9;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="aTO7ynV6Y0lAHxoPAONt-66" value="limit speed lvl to 1<br style="font-size: 8px;">can be slower if close though" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=none;fontSize=8;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="533.5" y="704" width="55" height="20" as="geometry" /> |           <mxGeometry x="334.5" y="704" width="66.75" height="25" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="mQTKtX7dmJeWt0bXEoog-30" value="<span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">cutter_isRunning() == false</span>" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classic;endFill=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="mQTKtX7dmJeWt0bXEoog-1" target="mQTKtX7dmJeWt0bXEoog-29" edge="1"> |         <mxCell id="mQTKtX7dmJeWt0bXEoog-30" value="<span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">cutter_isRunning() == false</span>" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=classic;endFill=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="mQTKtX7dmJeWt0bXEoog-1" target="mQTKtX7dmJeWt0bXEoog-29" edge="1"> | ||||||
|           <mxGeometry relative="1" as="geometry" /> |           <mxGeometry relative="1" as="geometry" /> | ||||||
| @ -516,14 +498,8 @@ | |||||||
|         <mxCell id="mQTKtX7dmJeWt0bXEoog-4" value="cutter_start()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="mQTKtX7dmJeWt0bXEoog-4" value="cutter_start()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="199.5" y="1255" width="135" height="30" as="geometry" /> |           <mxGeometry x="199.5" y="1255" width="135" height="30" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="mQTKtX7dmJeWt0bXEoog-9" value="<font color="#990000">todo: <br></font><span style="color: rgb(153, 0, 0);">- ability to CANCEL cutting</span><font color="#990000"><br>- e.g.&nbsp;</font><span style="color: rgb(153, 0, 0);">cancel when buttons released?</span>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="mQTKtX7dmJeWt0bXEoog-29" value="lengthNow = 0<br>guide_moveToZero()" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="349.75" y="1320" width="229" height="45" as="geometry" /> |           <mxGeometry x="206.75" y="1435" width="120.5" height="40" as="geometry" /> | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="mQTKtX7dmJeWt0bXEoog-28" value="<font color="#990000">todo:require reset switch to be able to start again?<br></font>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0000FF;labelBackgroundColor=#FFFFFF;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |  | ||||||
|           <mxGeometry x="77" y="1115" width="91.5" height="45" as="geometry" /> |  | ||||||
|         </mxCell> |  | ||||||
|         <mxCell id="mQTKtX7dmJeWt0bXEoog-29" value="lengthNow = 0" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |  | ||||||
|           <mxGeometry x="224.5" y="1430" width="85" height="30" as="geometry" /> |  | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-4" value="delay passed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="1-PaxUM0a53oYDua-TxR-1" target="mQTKtX7dmJeWt0bXEoog-4" edge="1"> |         <mxCell id="1-PaxUM0a53oYDua-TxR-4" value="delay passed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="1-PaxUM0a53oYDua-TxR-1" target="mQTKtX7dmJeWt0bXEoog-4" edge="1"> | ||||||
|           <mxGeometry relative="1" as="geometry" /> |           <mxGeometry relative="1" as="geometry" /> | ||||||
| @ -534,14 +510,62 @@ | |||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-1" value="state:<br>AUTO_CUT_WAITING" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="1-PaxUM0a53oYDua-TxR-1" value="state:<br>AUTO_CUT_WAITING" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="195.75" y="1135" width="142.5" height="60" as="geometry" /> |           <mxGeometry x="195.75" y="1135" width="142.5" height="60" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-3" value="indicate cut pending on display<br>beep countdown<br>blink lamp" style="rounded=1;whiteSpace=wrap;html=1;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="1-PaxUM0a53oYDua-TxR-3" value="indicate cut pending on display<br>beep countdown<br>blink lamp" style="rounded=1;whiteSpace=wrap;html=1;align=center;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> | ||||||
|           <mxGeometry x="395" y="1142.5" width="185" height="45" as="geometry" /> |           <mxGeometry x="395" y="1142.5" width="185" height="45" as="geometry" /> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-7" value="AUTO_CUT_WAITING" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="E9gbP4vXqY4O4zoDVCtS-33" source="1-PaxUM0a53oYDua-TxR-6" target="1-PaxUM0a53oYDua-TxR-3" edge="1"> |         <mxCell id="u4D9dyohbDwP2OhtFbo0-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1.008;entryY=0.119;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#999999;" edge="1" parent="E9gbP4vXqY4O4zoDVCtS-33" source="aTO7ynV6Y0lAHxoPAONt-63" target="Jo9Ue6hLqtK935TEgpBK-18"> | ||||||
|           <mxGeometry relative="1" as="geometry" /> |           <mxGeometry relative="1" as="geometry"> | ||||||
|  |             <Array as="points"> | ||||||
|  |               <mxPoint x="469" y="745" /> | ||||||
|  |               <mxPoint x="555" y="745" /> | ||||||
|  |               <mxPoint x="555" y="651" /> | ||||||
|  |             </Array> | ||||||
|  |           </mxGeometry> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-6" value="main loop" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="E9gbP4vXqY4O4zoDVCtS-33" vertex="1"> |         <mxCell id="u4D9dyohbDwP2OhtFbo0-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1.004;entryY=0.1;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#999999;" edge="1" parent="E9gbP4vXqY4O4zoDVCtS-33" source="Avus2w3zFXZjXSa-NAtZ-4" target="Jo9Ue6hLqtK935TEgpBK-21"> | ||||||
|           <mxGeometry x="448" y="1080" width="79" height="28.5" as="geometry" /> |           <mxGeometry relative="1" as="geometry"> | ||||||
|  |             <Array as="points"> | ||||||
|  |               <mxPoint x="469" y="497" /> | ||||||
|  |               <mxPoint x="545" y="497" /> | ||||||
|  |               <mxPoint x="545" y="440" /> | ||||||
|  |             </Array> | ||||||
|  |           </mxGeometry> | ||||||
|  |         </mxCell> | ||||||
|  |         <mxCell id="u4D9dyohbDwP2OhtFbo0-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1.002;entryY=0.144;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#999999;" edge="1" parent="E9gbP4vXqY4O4zoDVCtS-33" source="aTO7ynV6Y0lAHxoPAONt-55" target="Jo9Ue6hLqtK935TEgpBK-19"> | ||||||
|  |           <mxGeometry relative="1" as="geometry"> | ||||||
|  |             <Array as="points"> | ||||||
|  |               <mxPoint x="469" y="908" /> | ||||||
|  |               <mxPoint x="469" y="925" /> | ||||||
|  |               <mxPoint x="550" y="925" /> | ||||||
|  |               <mxPoint x="550" y="828" /> | ||||||
|  |             </Array> | ||||||
|  |           </mxGeometry> | ||||||
|  |         </mxCell> | ||||||
|  |         <mxCell id="u4D9dyohbDwP2OhtFbo0-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.91;entryY=0.003;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#999999;" edge="1" parent="E9gbP4vXqY4O4zoDVCtS-33" source="1-PaxUM0a53oYDua-TxR-3" target="1-PaxUM0a53oYDua-TxR-1"> | ||||||
|  |           <mxGeometry relative="1" as="geometry"> | ||||||
|  |             <Array as="points"> | ||||||
|  |               <mxPoint x="487" y="1208" /> | ||||||
|  |               <mxPoint x="600" y="1208" /> | ||||||
|  |               <mxPoint x="600" y="1115" /> | ||||||
|  |               <mxPoint x="325" y="1115" /> | ||||||
|  |             </Array> | ||||||
|  |           </mxGeometry> | ||||||
|  |         </mxCell> | ||||||
|  |         <mxCell id="u4D9dyohbDwP2OhtFbo0-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;strokeColor=#999999;" edge="1" parent="E9gbP4vXqY4O4zoDVCtS-33" source="mQTKtX7dmJeWt0bXEoog-1" target="mQTKtX7dmJeWt0bXEoog-1"> | ||||||
|  |           <mxGeometry relative="1" as="geometry"> | ||||||
|  |             <Array as="points"> | ||||||
|  |               <mxPoint x="365" y="1370" /> | ||||||
|  |               <mxPoint x="365" y="1340" /> | ||||||
|  |             </Array> | ||||||
|  |           </mxGeometry> | ||||||
|  |         </mxCell> | ||||||
|  |         <mxCell id="u4D9dyohbDwP2OhtFbo0-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;fontColor=#999999;strokeColor=#999999;" edge="1" parent="E9gbP4vXqY4O4zoDVCtS-33" source="Jo9Ue6hLqtK935TEgpBK-20" target="Jo9Ue6hLqtK935TEgpBK-20"> | ||||||
|  |           <mxGeometry relative="1" as="geometry"> | ||||||
|  |             <Array as="points"> | ||||||
|  |               <mxPoint x="365" y="1014" /> | ||||||
|  |               <mxPoint x="365" y="984" /> | ||||||
|  |             </Array> | ||||||
|  |           </mxGeometry> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="E9gbP4vXqY4O4zoDVCtS-37" value="rotary encoder  (control.cpp)" style="swimlane;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1"> |         <mxCell id="E9gbP4vXqY4O4zoDVCtS-37" value="rotary encoder  (control.cpp)" style="swimlane;labelBackgroundColor=none;fontColor=#000000;" parent="1" vertex="1"> | ||||||
|           <mxGeometry x="1245" y="1415" width="590" height="215" as="geometry" /> |           <mxGeometry x="1245" y="1415" width="590" height="215" as="geometry" /> | ||||||
| @ -787,9 +811,10 @@ | |||||||
|           <mxGeometry x="-0.5375" relative="1" as="geometry"> |           <mxGeometry x="-0.5375" relative="1" as="geometry"> | ||||||
|             <mxPoint x="85" y="1120" as="targetPoint" /> |             <mxPoint x="85" y="1120" as="targetPoint" /> | ||||||
|             <Array as="points"> |             <Array as="points"> | ||||||
|               <mxPoint x="85" y="1470" /> |               <mxPoint x="85" y="1480" /> | ||||||
|             </Array> |             </Array> | ||||||
|             <mxPoint x="1" as="offset" /> |             <mxPoint x="1" as="offset" /> | ||||||
|  |             <mxPoint x="231.5" y="1520" as="sourcePoint" /> | ||||||
|           </mxGeometry> |           </mxGeometry> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;endArrow=oval;endFill=1;" parent="1" source="1-PaxUM0a53oYDua-TxR-1" edge="1"> |         <mxCell id="1-PaxUM0a53oYDua-TxR-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;endArrow=oval;endFill=1;" parent="1" source="1-PaxUM0a53oYDua-TxR-1" edge="1"> | ||||||
| @ -801,7 +826,7 @@ | |||||||
|             </Array> |             </Array> | ||||||
|           </mxGeometry> |           </mxGeometry> | ||||||
|         </mxCell> |         </mxCell> | ||||||
|         <mxCell id="1-PaxUM0a53oYDua-TxR-9" value="SW_RESET<br>SW_CUT<br>!SW_AUTO_CUT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="1-PaxUM0a53oYDua-TxR-8" vertex="1" connectable="0"> |         <mxCell id="1-PaxUM0a53oYDua-TxR-9" value="any button<br>event" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="1-PaxUM0a53oYDua-TxR-8" vertex="1" connectable="0"> | ||||||
|           <mxGeometry x="-0.1235" y="2" relative="1" as="geometry"> |           <mxGeometry x="-0.1235" y="2" relative="1" as="geometry"> | ||||||
|             <mxPoint x="-22" y="-2" as="offset" /> |             <mxPoint x="-22" y="-2" as="offset" /> | ||||||
|           </mxGeometry> |           </mxGeometry> | ||||||
|  | |||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								img/cable-length-cutter.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								img/cable-length-cutter.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 546 KiB | 
							
								
								
									
										3
									
								
								img/panel-layout.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								img/panel-layout.svg
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| After Width: | Height: | Size: 348 KiB | 
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user