docs: updated documentation
This commit is contained in:
parent
87ac0edf99
commit
eb3e90e8a2
201
ophyd_devices/galil/csaxs_sgalil_triggering.drawio
Normal file
201
ophyd_devices/galil/csaxs_sgalil_triggering.drawio
Normal file
@ -0,0 +1,201 @@
|
||||
<mxfile host="app.diagrams.net" modified="2023-07-31T14:55:08.470Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0" etag="hKC99drhJ4x6bY93jFGH" version="21.6.6" type="device">
|
||||
<diagram name="Page-1" id="b520641d-4fe3-3701-9064-5fc419738815">
|
||||
<mxGraphModel dx="2049" dy="1206" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="21ea969265ad0168-6" value="SGalil stages" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" parent="1" vertex="1">
|
||||
<mxGeometry x="12.5" y="24" width="160" height="110" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-7" value="grid fly scan (2D), TTL signal at the beginning of each line" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="21ea969265ad0168-6" vertex="1">
|
||||
<mxGeometry y="26" width="160" height="54" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-14" value="DelayGenerator 4 - ddg4" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" parent="1" vertex="1">
|
||||
<mxGeometry x="270" y="40" width="160" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-15" value="ext. trigger" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="21ea969265ad0168-14" vertex="1">
|
||||
<mxGeometry y="26" width="160" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-16" value="operated in normal mode, controls fast shutter and triggers second DDG" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="21ea969265ad0168-14" vertex="1">
|
||||
<mxGeometry y="52" width="160" height="48" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-19" value="<div>channel AB</div>" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="21ea969265ad0168-14">
|
||||
<mxGeometry y="100" width="160" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-21" value="<div>channel T0<br></div>" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="21ea969265ad0168-14">
|
||||
<mxGeometry y="130" width="160" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-22" value="Logical Card" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" parent="1" vertex="1">
|
||||
<mxGeometry x="710" y="250" width="160" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-24" value="<div>both signals low -&gt; low<br>either on signal high -&gt; high<br>both signals high -&gt; low<br><br></div>" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="21ea969265ad0168-22" vertex="1">
|
||||
<mxGeometry y="26" width="160" height="54" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-26" value="MCS readout card" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" parent="1" vertex="1">
|
||||
<mxGeometry x="920" y="360" width="160" height="110" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-27" value="falling edge trigger<br>readout is triggered between to falling edges, thus logical board required" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="21ea969265ad0168-26" vertex="1">
|
||||
<mxGeometry y="26" width="160" height="74" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-36" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="21ea969265ad0168-6" target="21ea969265ad0168-15" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-38" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;align=center;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="O8qpyw_Cq4v1m74naMs6-19" target="O8qpyw_Cq4v1m74naMs6-3" edge="1">
|
||||
<mxGeometry x="-0.0026" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="150" as="sourcePoint" />
|
||||
<mxPoint x="680" y="60" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="660" y="155" />
|
||||
<mxPoint x="660" y="43" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-42" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=1;exitY=0.5;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;exitDx=0;exitDy=0;" parent="1" source="O8qpyw_Cq4v1m74naMs6-19" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="660" y="155" />
|
||||
<mxPoint x="660" y="290" />
|
||||
</Array>
|
||||
<mxPoint x="710" y="290" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="21ea969265ad0168-43" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;entryX=0;entryY=0.378;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="21ea969265ad0168-24" edge="1" target="21ea969265ad0168-27">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="880" y="331" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-2" value="Fast shutter: fsh" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" vertex="1" parent="1">
|
||||
<mxGeometry x="750" width="160" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-3" value="FSH opening time, e.g. 20ms" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-2">
|
||||
<mxGeometry y="26" width="160" height="34" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-11" value="TTL" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="60" width="40" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-16" value="DelayGenerator 4 - ddg4" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" vertex="1" parent="1">
|
||||
<mxGeometry x="270" y="350" width="230" height="190" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-17" value="ext. trigger" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-16">
|
||||
<mxGeometry y="26" width="230" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-18" value="operated in burst mode:<br>burstCount: N_points<br>burstPeriod: (exp_time + readout time)<br>burstDelay: fsh opening (20ms)" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-16">
|
||||
<mxGeometry y="50" width="230" height="68" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-29" value="Channel AB" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-16">
|
||||
<mxGeometry y="118" width="230" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-28" value="Channel CD " style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-16">
|
||||
<mxGeometry y="142" width="230" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-30" value="Channel EF" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-16">
|
||||
<mxGeometry y="166" width="230" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-27" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;align=center;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="O8qpyw_Cq4v1m74naMs6-21" target="O8qpyw_Cq4v1m74naMs6-17">
|
||||
<mxGeometry x="-0.0026" relative="1" as="geometry">
|
||||
<mxPoint x="220" y="262" as="sourcePoint" />
|
||||
<mxPoint x="240" y="390" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="510" y="185" />
|
||||
<mxPoint x="510" y="270" />
|
||||
<mxPoint x="200" y="270" />
|
||||
<mxPoint x="200" y="390" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-31" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=1;exitY=0.5;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;exitDx=0;exitDy=0;" edge="1" parent="1" source="O8qpyw_Cq4v1m74naMs6-28" target="O8qpyw_Cq4v1m74naMs6-36">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="640" y="504" />
|
||||
<mxPoint x="640" y="610" />
|
||||
</Array>
|
||||
<mxPoint x="500" y="480" as="sourcePoint" />
|
||||
<mxPoint x="910" y="610" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-32" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="O8qpyw_Cq4v1m74naMs6-28" target="O8qpyw_Cq4v1m74naMs6-34">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="640" y="504" />
|
||||
<mxPoint x="640" y="610" />
|
||||
<mxPoint x="760" y="610" />
|
||||
<mxPoint x="760" y="528" />
|
||||
</Array>
|
||||
<mxPoint x="500" y="500" as="sourcePoint" />
|
||||
<mxPoint x="880" y="540" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-33" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;entryX=0.008;entryY=0.154;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="O8qpyw_Cq4v1m74naMs6-28" target="O8qpyw_Cq4v1m74naMs6-38">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="640" y="504" />
|
||||
<mxPoint x="640" y="610" />
|
||||
<mxPoint x="760" y="610" />
|
||||
<mxPoint x="760" y="701" />
|
||||
</Array>
|
||||
<mxPoint x="500" y="480" as="sourcePoint" />
|
||||
<mxPoint x="880" y="700" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-34" value="eiger" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" vertex="1" parent="1">
|
||||
<mxGeometry x="920" y="510" width="160" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-35" value="rising edge<br>set exp_time on device" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-34">
|
||||
<mxGeometry y="26" width="160" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-36" value="falcon" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" vertex="1" parent="1">
|
||||
<mxGeometry x="920" y="600" width="160" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-37" value="rising edge <br>set exp_time on device" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-36">
|
||||
<mxGeometry y="26" width="160" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-38" value="Pilatus 300k" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" vertex="1" parent="1">
|
||||
<mxGeometry x="920" y="690" width="160" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-39" value="rising edge <br>set exp_time on device" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-38">
|
||||
<mxGeometry y="26" width="160" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-40" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;entryX=-0.005;entryY=1.002;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="O8qpyw_Cq4v1m74naMs6-29" target="21ea969265ad0168-24">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="560" y="480" />
|
||||
<mxPoint x="560" y="330" />
|
||||
</Array>
|
||||
<mxPoint x="510" y="520" as="sourcePoint" />
|
||||
<mxPoint x="700" y="330" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-41" style="edgeStyle=orthogonalEdgeStyle;html=1;labelBackgroundColor=none;startFill=0;startSize=8;endFill=1;endSize=8;fontFamily=Verdana;fontSize=12;exitX=1;exitY=0.167;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="O8qpyw_Cq4v1m74naMs6-30">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="530" y="520" />
|
||||
<mxPoint x="530" y="780" />
|
||||
</Array>
|
||||
<mxPoint x="500" y="530" as="sourcePoint" />
|
||||
<mxPoint x="610" y="780" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-42" value="SGalil positions encoder" style="swimlane;html=1;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12" vertex="1" parent="1">
|
||||
<mxGeometry x="610" y="740" width="160" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-43" value="triggered on falling edge" style="text;html=1;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="O8qpyw_Cq4v1m74naMs6-42">
|
||||
<mxGeometry y="26" width="160" height="44" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-44" value="<div align="justify"><span style="background-color: rgb(255, 255, 255);">channel AB</span></div><div align="justify"><div><span style="background-color: rgb(255, 255, 255);">delay:0<br></span></div><span style="background-color: rgb(255, 255, 255);">width: fsh opening (20ms)<br>+ N_points * exp_time<br>+ (N_points-1) * readout time<br></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="450" y="44" width="180" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-45" value="<div align="justify"><span style="background-color: rgb(255, 255, 255);">channel AB</span></div><div align="justify"><div><span style="background-color: rgb(255, 255, 255);">delay:0<br></span></div><span style="background-color: rgb(255, 255, 255);">width: exp_time <br>or less<br></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="530" y="300" width="110" height="70" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-46" value="<div align="justify"><span style="background-color: rgb(255, 255, 255);">channel CD<br>split into 3 signals<br></span></div><div align="justify"><div><span style="background-color: rgb(255, 255, 255);">delay:0<br></span></div><span style="background-color: rgb(255, 255, 255);">width: exp_time <br>or less<br></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="575" y="450" width="120" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="O8qpyw_Cq4v1m74naMs6-47" value="<div align="justify"><span style="background-color: rgb(255, 255, 255);">channel EF<br></span></div><div align="justify"><div><span style="background-color: rgb(255, 255, 255);">delay:0<br></span></div><span style="background-color: rgb(255, 255, 255);">width: exp_time/2 <br></span></div>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=default;" vertex="1" parent="1">
|
||||
<mxGeometry x="480" y="610" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
BIN
ophyd_devices/galil/csaxs_sgalil_triggering.png
Normal file
BIN
ophyd_devices/galil/csaxs_sgalil_triggering.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 157 KiB |
@ -1,22 +0,0 @@
|
||||
# Summary on communication commands for SGalilMotor
|
||||
## sgalil_y - vertical axis (samy)
|
||||
- Axis 2, C
|
||||
- in motion: "MG _BG{axis_char}", e.g. "MG _BGC" , 0 or 1
|
||||
- limit switch not pressed: "MG _LR{axis_char}, _LF{axis_char}" , 0 or 1
|
||||
- position: "MG _TP{axis_char}/mm" , position in mm
|
||||
- Axis referenced: "MG allaxref", 0 or 1
|
||||
- stop all axis: "XQ#STOP,1"
|
||||
- is motor on: "MG _MO{axis_char}", 0 or 1
|
||||
- is thread active: "MG _XQ{thread_id}", 0 or 1
|
||||
**Specific for sgalil_y**
|
||||
- set_motion_speed: "SP{axis_char}=2*mm", 2mm/s is max speed
|
||||
- set_final_pos: "PA{axis_char}={val:04f}*mm", target pos in mm
|
||||
- start motion: "BG{axis_char}", start motion
|
||||
## sgalil_y - horizontal axis (samx) - due to hardware modifications a bit more complicated
|
||||
- initiate with Axis 4, E
|
||||
**Specific for sgalil_x**
|
||||
- set_final_pos: "targ{axis_char}={val:04f}", e.g. "targE=2.0000"
|
||||
- start motion: "XQ#POSE,{axis_char}"
|
||||
- For *in motion* and *limit switch not pressed* commands,
|
||||
the key changes to AXIS 5 || F, e.g. "MG _BGF"
|
||||
- For *position* switch to Axis 0 || A, e.g. "MG _TPA/mm"
|
74
ophyd_devices/galil/sgalil_readme.md
Normal file
74
ophyd_devices/galil/sgalil_readme.md
Normal file
@ -0,0 +1,74 @@
|
||||
# Documentation SGalil ophyd wrapper
|
||||
Ophyd wrapper for the SGalil controller and stages.
|
||||
## TODO tests and evaluate whether its good to combine common functionaltiy with galil lamni/omny/flomni controller
|
||||
## Integration of the device in IPython kernel
|
||||
BEC needs to be able to reach the host TCP to initiate a connection to the device.
|
||||
```Python
|
||||
from ophyd_devices.galil.sgalil_ophyd import SGalilMotor
|
||||
samx = SGalilMotor("E", name="samx", host="129.129.122.26", port=23, sign=-1)
|
||||
samy = SGalilMotor("C", name="samy", host="129.129.122.26", port=23, sign=-1)
|
||||
# connect to the controller
|
||||
samx.controller.on()
|
||||
samx.read()
|
||||
samx.move(5)
|
||||
dir(samx)# for full printout of commands
|
||||
# useful for development, check below socket communication with sgalil controller
|
||||
samx.controller.socket_put_and_receive('#string: message_to_controller')
|
||||
```
|
||||
## TODO Integration of device in BEC device config!
|
||||
to be tested too
|
||||
|
||||
## Fly scans
|
||||
2D grid fly scan as implemented on the controller.
|
||||
TTL triggers are sent for the start of each line.
|
||||
The scan on the controller needs to be matched with an appropriate triggering scheme, as for instance shown in the attached scheme together with the Stanford Research DG645 device at cSAXS.
|
||||

|
||||
```Python
|
||||
samx.controller.(start_y, end_y, interval_y, start_x, end_x, interval_x, exp_time, readtime)
|
||||
# for example
|
||||
samx.controller.fly_grid_scan(start_y= 16, end_y= 24, interval_y= 100, start_x= 18, end_x= 17.6, interval_x= 2, exp_time= 0.08, readtime= 0.005)
|
||||
```
|
||||
|
||||
## TODO implement line scan
|
||||
Check SPEC implementation for line scans with sgalil controller, and complement it with a suitable triggering scheme of the DG645.
|
||||
|
||||
## TODO readout of positions in encoder
|
||||
Should this be integrated in the flyscan or not.
|
||||
To be explored where this is most suitable.
|
||||
|
||||
## Socket communication with sgalil controller
|
||||
### vertical axis (samy)
|
||||
- initiate with axis 2, C
|
||||
- in motion: "MG _BG{axis_char}", e.g. "MG _BGC" , 0 or 1
|
||||
- limit switch not pressed: "MG _LR{axis_char}, _LF{axis_char}" , 0 or 1
|
||||
- position: "MG _TP{axis_char}/mm" , position in mm
|
||||
- Axis referenced: "MG allaxref", 0 or 1
|
||||
- stop all axis: "XQ#STOP,1"
|
||||
- is motor on: "MG _MO{axis_char}", 0 or 1
|
||||
- is thread active: "MG _XQ{thread_id}", 0 or 1
|
||||
**Specific for sgalil_y**
|
||||
- set_motion_speed: "SP{axis_char}=2*mm", 2mm/s is max speed
|
||||
- set_final_pos: "PA{axis_char}={val:04f}*mm", target pos in mm
|
||||
- start motion: "BG{axis_char}", start motion
|
||||
### horizontal axis (samx)
|
||||
note: some hardware modifications were done that require access to different channels in the encoder. Encoder, motor and limit switches are not controlled by the same endpoint/axis of the controller... see below
|
||||
- initiate with axis 4, E
|
||||
**Specific for sgalil_x**
|
||||
- set_final_pos: "targ{axis_char}={val:04f}", e.g. "targE=2.0000"
|
||||
- start motion: "XQ#POSE,{axis_char}"
|
||||
- For *in motion* and *limit switch not pressed* commands,
|
||||
the key changes to AXIS 5 || F, e.g. "MG _BGF"
|
||||
- For *position* switch to Axis 0 || A, e.g. "MG _TPA/mm"
|
||||
|
||||
### flyscan 2D grid commanes:
|
||||
Last command ('XQ#SCANG') has to come with sufficient delay, important for setting up dedicated scans
|
||||
f***ast axis***
|
||||
- self.socket_put_and_receive(f'a_start={start_y:.04f};a_end={end_y:.04f};speed={speed:.04f}')
|
||||
***slow axis***
|
||||
- self.socket_put_and_receive(f'b_start={start_x:.04f};gridmax={gridmax:d};b_step={step_grid:.04f}')
|
||||
TODO, why is it necessay to set nums, readout for encoder?
|
||||
- self.socket_put_and_receive(f'nums={n_samples}')
|
||||
TODO what exactly means this comman, submit new scan grid parameters? ask Mirko!
|
||||
- self.socket_put_and_receive('XQ#SAMPLE')
|
||||
Start scan (be aware, needs some waiting from before)
|
||||
- self.socket_put_and_receive('XQ#SCANG')
|
Loading…
x
Reference in New Issue
Block a user