source: wxmtxy/trunk/src/moxy/index.html @ 631

Last change on this file since 631 was 631, checked in by jemian, 14 years ago

begin refactoring into release structure and rebranding with new product name: moxy

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Revision Author HeadURL Id
File size: 12.7 KB
Line 
1<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
3<!--
4        ########### SVN repository information ###################
5        # $Date: 2011-09-09 17:12:01 +0000 (Fri, 09 Sep 2011) $
6        # $Author: jemian $
7        # $Revision: 631 $
8        # $URL: wxmtxy/trunk/src/moxy/index.html $
9        # $Id: index.html 631 2011-09-09 17:12:01Z jemian $
10        ########### SVN repository information ###################
11-->
12
13<html xmlns="http://www.w3.org/1999/xhtml">
14        <head>
15                <title>wxmtxy: a GUI tool for EPICS</title>
16        </head>
17        <body bgcolor="#f0f0f8">
18
19                <!-- begin common header -->
20                <table>
21                        <tbody>
22                                <tr>
23                                        <td valign="top"><h1>wxmtxy</h1>
24                                                <h2>A GUI tool for EPICS</h2>
25                                                <br/><b>author: Pete R. Jemian (jemian@anl.gov)</b>
26                                                <br/><b>version: 0.5</b>
27                                        </td>
28                                        <td valign="top"><img 
29                                        src="graphics/logo.png" alt="wxmtxy logo"/></td>
30                                </tr>
31                        </tbody>
32                </table> 
33                <!-- end common header -->
34
35                <h1>Overview</h1>
36
37                        <p><b>wxmtxy</b> provides EPICS support to users,
38                        allowing them to define a table of known positions for an X,Y
39                        positioner (motor) pair and provides a one-button click to drive
40                        the X,Y pair to a specific table setting.  Also can record
41                        current position into a setting.</p>
42               
43                    <p>Several sets of X,Y positioners can be configured.  (Each
44                    set is separate.)  In fact, the positioners do not have to be
45                    motors, but can be any type of EPICS PV that will accept a
46                    numeric value.</p>
47               
48                    <p>wxmtxy is based on wxPython and relies on CaChannel to
49                    communicate with EPICS.</p>
50               
51                    <p>In the Graphical User Interface (GUI), tooltips are provided
52            for most items.  Moving and pausing the mouse over a widget
53            (GUI component such as a button or a label) will cause a terse
54            description of that widget to be displayed.  Moving the mouse
55            away will cause that tooltip to disappear.</p>
56               
57                    <p>For more help, explanations are provided in the HTML pages
58            you are viewing now.</p>
59               
60               
61                <h2>Example</h2>
62               
63                One way to learn how to use this tool is to work through an
64                <a href="example.html">example</a>.  This example shows how to start
65                wxmtxy, configure it for two EPICS motors, set some positions, and
66                save the configuration into a file.
67               
68                <h2>Purpose and objectives</h2>
69               
70                <h2>How to use wxmtxy.py</h2>
71               
72                <h3>Create a new XYpair</h3>
73                You can add specifications to control additional sets of X and Y positioners.
74                Add space for a new pair of X and Y positioners by
75                selecting the <em>Page</em> menu, <em>Create New X,Y pair</em> item.
76                Note that Ctrl+p is a keyboard shortcut for the same menu selection.
77
78                <h3>Configure the EPICS Process Variables</h3>
79
80                You configure EPICS by specifying the EPICS PV names.  An editor
81                is available by selecting the <em>Page</em> menu,
82                <em>EPICS Configuration</em> item.
83                Note that Ctrl+Shift+e is a keyboard shortcut for the same menu selection.
84               
85                <br/>If the chosen positioner is an EPICS motor record, then you need only
86                specify the EPICS PV name for the <tt>VAL</tt> field (of that axis). 
87                After typing the PV name, keeping the selection in the same entry box,
88                press the <em>Enter</em> and the software will check the local
89                EPICS network for that name.  The box will turn green if the PV is found and
90                stay pink of not found.  The checkbox
91                will be set automatically as to whether the PV is from a motor record.
92               
93                <br/>If you make a mistake in typing,
94                or press the enter key in the wrong place, you can <em>Revert</em> any
95                changes back to the default values or <em>Clear X</em> or <em>Clear Y</em>
96                to clear all PV names and checkboxes from either of the two axes.
97                <br/>
98               
99                <p>
100                <a href="graphics/fig3.png"><img 
101                src="graphics/fig3.png" alt="Figure 3"/></a>
102                </p>
103
104                <h3>Create a new Tab</h3>
105                You can add a new tab to the end of the list of tabs of the displayed XYpair
106                to document a set of positions for the X and Y positioners.
107                Make a new tab by selecting the <em>Page</em> menu, <em>Create new tab</em> item.
108                Note that Ctrl+t is a keyboard shortcut for the same menu selection.
109
110                <h3>Create a new Row</h3>
111                You can add a new row to the end of the displayed tab (of the displayed XYpair)
112                to document a new position for the X and Y positioners.
113                Make a new row by selecting the <em>Page</em> menu, <em>Create new row</em> item.
114                Note that Ctrl+r is a keyboard shortcut for the same menu selection.
115
116                <h3>Save the settings to a Settings File</h3>
117
118                To save the current settings to a file, select the <em>File</em> menu,
119                <em>Save As ...</em> item. 
120                <br/>
121               
122                <p>
123                <a href="graphics/fig13.png"><img 
124                src="graphics/fig13.png" alt="Figure 13"/></a>
125                </p>
126               
127                <p>A save file window will appear.  Navigate to a directory
128                to save your settings, enter a name <em>with the extension <tt>.XML</tt></em>
129                and finish your task.
130                </p>
131               
132                <p>
133                <a href="graphics/fig14.png"><img 
134                src="graphics/fig14.png" alt="Figure 14"/></a>
135                </p>
136
137                <h2>Definitions</h2>
138               
139                <h3>EPICS PV fields</h3>
140                <table border="2" title="EPICS PV fields">
141                        <thead>
142                                <tr>
143                                        <th>field</th>
144                                        <th>description</th>
145                                </tr>
146                        </thead>
147                        <tbody>
148                                <tr>
149                                        <td><b><tt>DESC</tt></b></td>
150                                        <td>EPICS PV to use when asking the positioner for its description string</td>
151                                </tr>
152                                <tr>
153                                        <td><b><tt>DMOV</tt></b></td>
154                                        <td>EPICS PV to use when asking the positioner if it is done moving.
155                                                DMOV=1: not moving, DMOV=0: moving</td>
156                                </tr>
157                                <tr>
158                                        <td><b><tt>EGU</tt></b></td>
159                                        <td>EPICS PV to use when asking the positioner for its engineering units string</td>
160                                </tr>
161                                <tr>
162                                        <td><b><tt>RBV</tt></b></td>
163                                        <td>EPICS PV to use when asking the positioner where it is now</td>
164                                </tr>
165                                <tr>
166                                        <td><b><tt>STOP</tt></b></td>
167                                        <td>EPICS PV to use when telling the positioner to stop moving immediately</td>
168                                </tr>
169                                <tr>
170                                        <td><b><tt>VAL</tt></b></td>
171                                        <td>EPICS PV to use when telling the positioner to move to a new value</td>
172                                </tr>
173                        </tbody>
174                </table>
175               
176                <h3>General terms</h3>
177                <table border="2" title="General terms">
178                        <thead>
179                                <tr>
180                                        <th>term</th>
181                                        <th>description</th>
182                                </tr>
183                        </thead>
184                        <tbody>
185                                <tr>
186                                        <td>EPICS&nbsp;PV</td>
187                                        <td>EPICS Process variable name.  See http://www.aps.anl.gov/epics.
188                                                Perhaps a document such as http://www.aps.anl.gov/epics/base/R3-14/10-docs/CAref.html
189                                                for more details.</td>
190                                </tr>
191                                <tr>
192                                        <td>EPICS motor record</td>
193                                        <td>EPICS abstract specification of a positioner such as a stepping motor.
194                                                See http://www.aps.anl.gov/bcda/synApps/motor/index.html
195                                                or http://www.aps.anl.gov/bcda/synApps/motor/R6-4/motorRecord.html for more details.</td>
196                                </tr>
197                                <tr>
198                                        <td>XYpair</td>
199                                        <td>set of Tabs in wxmtxy belonging to an XYpair</td>
200                                </tr>
201                                <tr>
202                                        <td>Tab</td>
203                                        <td>set of Rows in a Tab of an XYpair in wxmtxy</td>
204                                </tr>
205                                <tr>
206                                        <td>Row</td>
207                                        <td>specific combination in wxmtxy of (label, X_position, Y_position)</td>
208                                </tr>
209                                <tr>
210                                        <td>Settings File</td>
211                                        <td>XML file with specifications for EPICS Process Variables
212                                                and saved positions for the wxmtxy.py application</td>
213                                </tr>
214                                <tr>
215                                        <td>Text positions file</td>
216                                        <td>The "Text positions file" is a plain text file and can be
217                                                prepared with any text editor.  The file describes a set
218                                                of positions to be loaded into a Tab of the wxmyxy application.</td>
219                                </tr>
220                        </tbody>
221                </table>
222
223                <h1>Files</h1>
224               
225                    <p>The "Text positions file" is a plain text file and can be
226                prepared with any text editor.  The file describes a set
227                of positions to be loaded into a Tab of the wxmtxy application.
228                It contains an arbitrary number of rows.  Each row contains
229                three values, separated by tabs.
230                The values are "label X_position Y_position"
231                where the positions are in "mm".
232                An example is provided
233                (<a href="examples/standard-paddle.txt">examples/standard-paddle.txt</a>)
234                that describes the positions on the standard 4-column paddle.</p>
235               
236                <p>Users will likely produce a"Text positions file" by preparing a
237                spreadsheet with sample description (label) and X,Y positions
238                on the sample paddle.  The origin (0,0) is the notch on the
239                upper-right edge of the paddle.</p>
240               
241                <h3>example file: Text positions</h3>
242                <table border="2" title="Text positions file">
243                        <thead>
244                                <tr>
245                                        <th>file</th>
246                                        <th>description</th>
247                                </tr>
248                        </thead>
249                        <tbody>
250                                <tr>
251                                        <td><a href="examples/standard-paddle.txt"><code>examples/standard-paddle.txt</code></a></td>
252                                        <td>positions on the standard 4-column paddle</td>
253                                </tr>
254                        </tbody>
255                </table>
256               
257                <h3>example file: XML Settings</h3>
258                <table border="2" title="XML Settings file">
259                        <thead>
260                                <tr>
261                                        <th>file</th>
262                                        <th>description</th>
263                                </tr>
264                        </thead>
265                        <tbody>
266                                <tr>
267                                        <td><a href="examples/test-settings.xml"><code>examples/USAXS_XY.xml</code></a></td>
268                                        <td>settings file from USAXS sample and detector stages</td>
269                                </tr>
270                                <tr>
271                                        <td><a href="examples/test-settings.xml"><code>examples/test-settings.xml</code></a></td>
272                                        <td>settings file used by developer to test various features</td>
273                                </tr>
274                        </tbody>
275                </table>
276
277                <h1>Python source file documentation</h1>
278               
279                <h3>PyDocs from wxmtxy source code</h3>
280                <table border="2" title="PyDocs">
281                        <thead>
282                                <tr>
283                                        <th>file</th>
284                                        <th>description</th>
285                                </tr>
286                        </thead>
287                        <tbody>
288                                <tr>
289                                        <td><a href="pydoc/wxmtxy.html">wxmtxy.py</a></td>
290                                        <td>starts the wxmtxy application</td>
291                                </tr>
292                                <tr>
293                                        <td><a href="pydoc/wxmtxy_root.html">wxmtxy_root.py</a></td>
294                                        <td>Main frame of wxmtxy application</td>
295                                </tr>
296                                <tr>
297                                        <td><a href="pydoc/wxmtxy_pair.html">wxmtxy_pair.py</a></td>
298                                        <td>configuration for X,Y pair of EPICS positioners</td>
299                                </tr>
300                                <tr>
301                                        <td><a href="pydoc/wxmtxy_tab.html">wxmtxy_tab.py</a></td>
302                                        <td>set of rows with positioner settings</td>
303                                </tr>
304                                <tr>
305                                        <td><a href="pydoc/wxmtxy_row.html">wxmtxy_row.py</a></td>
306                                        <td>Define/manage GUI elements for one row of the table</td>
307                                </tr>
308                                <tr>
309                                        <td><a href="pydoc/wxmtxy_pvsetup.html">wxmtxy_pvsetup.py</a></td>
310                                        <td>configure EPICS for X,Y pair</td>
311                                </tr>
312                                <tr>
313                                        <td><a href="pydoc/wxmtxy_xml.html">wxmtxy_xml.py</a></td>
314                                        <td>read/write routines for wxmtxy XML settings</td>
315                                </tr>
316                                <tr>
317                                        <td><a href="pydoc/wxmtxy_axis.html">wxmtxy_axis.py</a></td>
318                                        <td>Maintain EPICS PVs and connections for one axis</td>
319                                </tr>
320                                <tr>
321                                        <td><a href="pydoc/wxmtxy_version.html">wxmtxy_version.py</a></td>
322                                        <td>version information for wxmtxy</td>
323                                </tr>
324                                <tr>
325                                        <td><a href="pydoc/setup.html">setup.py</a></td>
326                                        <td>Python distutils packaging file for wxmtxy</td>
327                                </tr>
328                        </tbody>
329                </table>
330
331                <h3>Helper files that could work with other Python projects</h3>
332                <table border="2" title="Helper files">
333                        <thead>
334                                <tr>
335                                        <th>file</th>
336                                        <th>description</th>
337                                </tr>
338                        </thead>
339                        <tbody>
340                                <tr>
341                                        <td><a href="pydoc/wxmtxy_htmlview.html">wxmtxy_htmlview.py</a></td>
342                                        <td>HtmlView to view HTML-formatted help files</td>
343                                </tr>
344                                <tr>
345                                        <td><a href="pydoc/pvConnect.html">pvConnect.py</a></td>
346                                        <td>simplified connections to an EPICS PV using CaChannel</td>
347                                </tr>
348                                <tr>
349                                        <td><a href="pydoc/menuLauncher.html">menuLauncher.py</a></td>
350                                        <td>standalone GUI to launch various utilities</td>
351                                </tr>
352                        </tbody>
353                </table>
354               
355                <h3>Other files</h3>
356                <table border="2" title="Other files">
357                        <thead>
358                                <tr>
359                                        <th>file</th>
360                                        <th>description</th>
361                                </tr>
362                        </thead>
363                        <tbody>
364                                <tr>
365                                        <td><a href="LICENSE">LICENSE</a></td>
366                                        <td>APS EPICS extensions software license</td>
367                                </tr>
368                                <tr>
369                                        <td><a href="README">README</a></td>
370                                        <td>Comments to developers reading the source code files</td>
371                                </tr>
372                                <tr>
373                                        <td><a href="examples/wxmtxy_settings.xsl">XSLT stylesheet</a></td>
374                                        <td>XSLT stylesheet to display settings files nicely in a WWW browser</td>
375                                </tr>
376                        </tbody>
377                </table>
378               
379                <h2>Requirements</h2>
380                <!-- Need some writing here -->
381                <p>Python</p>
382                <p>wxPython</p>
383                <p>ca</p>
384                <p>CaChannel</p>
385
386<hr />
387
388The wxmtxy application and related files are copyyright (c) 2009.
389<pre>
390#*************************************************************************
391# Copyright (c) 2009-2010 The University of Chicago, as Operator of Argonne
392#     National Laboratory.
393# Copyright (c) 2009-2010 The Regents of the University of California, as
394#     Operator of Los Alamos National Laboratory.
395# This file is distributed subject to a Software License Agreement found
396# in the file LICENSE that is included with this distribution.
397#*************************************************************************
398</pre>
399
400
401        </body>
402</html>
Note: See TracBrowser for help on using the repository browser.