source: epicsdf/doc/build/html/src/epicsdf.html @ 609

Last change on this file since 609 was 609, checked in by jemian, 11 years ago

documentation rebuilt on linux

  • Property svn:executable set to *
  • Property svn:mime-type set to text/html
File size: 26.2 KB
Line 
1
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6<html xmlns="http://www.w3.org/1999/xhtml">
7  <head>
8    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9   
10    <title>epicsdf: EPICS diskfree, in python &mdash; epicsdf v1.0 documentation</title>
11    <link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
12    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13    <script type="text/javascript">
14      var DOCUMENTATION_OPTIONS = {
15        URL_ROOT:    '../',
16        VERSION:     '1.0',
17        COLLAPSE_INDEX: false,
18        FILE_SUFFIX: '.html',
19        HAS_SOURCE:  true
20      };
21    </script>
22    <script type="text/javascript" src="../_static/jquery.js"></script>
23    <script type="text/javascript" src="../_static/underscore.js"></script>
24    <script type="text/javascript" src="../_static/doctools.js"></script>
25    <link rel="top" title="epicsdf v1.0 documentation" href="../index.html" />
26    <link rel="up" title="Source code documentation" href="index.html" />
27    <link rel="prev" title="Source code documentation" href="index.html" /> 
28  </head>
29  <body>
30    <div class="related">
31      <h3>Navigation</h3>
32      <ul>
33        <li class="right" style="margin-right: 10px">
34          <a href="../genindex.html" title="General Index"
35             accesskey="I">index</a></li>
36        <li class="right" >
37          <a href="../py-modindex.html" title="Python Module Index"
38             >modules</a> |</li>
39        <li class="right" >
40          <a href="index.html" title="Source code documentation"
41             accesskey="P">previous</a> |</li>
42        <li><a href="../index.html">epicsdf v1.0 documentation</a> &raquo;</li>
43          <li><a href="../contents.html" >Contents</a> &raquo;</li>
44          <li><a href="index.html" accesskey="U">Source code documentation</a> &raquo;</li> 
45      </ul>
46    </div>
47      <div class="sphinxsidebar">
48        <div class="sphinxsidebarwrapper">
49  <h4>Previous topic</h4>
50  <p class="topless"><a href="index.html"
51                        title="previous chapter">Source code documentation</a></p>
52  <h3>This Page</h3>
53  <ul class="this-page-menu">
54    <li><a href="../_sources/src/epicsdf.txt"
55           rel="nofollow">Show Source</a></li>
56  </ul>
57<div id="searchbox" style="display: none">
58  <h3>Quick search</h3>
59    <form class="search" action="../search.html" method="get">
60      <input type="text" name="q" size="18" />
61      <input type="submit" value="Go" />
62      <input type="hidden" name="check_keywords" value="yes" />
63      <input type="hidden" name="area" value="default" />
64    </form>
65    <p class="searchtip" style="font-size: 90%">
66    Enter search terms or a module, class or function name.
67    </p>
68</div>
69<script type="text/javascript">$('#searchbox').show(0);</script>
70        </div>
71      </div>
72
73    <div class="document">
74      <div class="documentwrapper">
75        <div class="bodywrapper">
76          <div class="body">
77           
78  <div class="section" id="epicsdf-epics-diskfree-in-python">
79<h1><a class="reference internal" href="#module-epicsdf" title="epicsdf: diskfree, in python"><tt class="xref py py-mod docutils literal"><span class="pre">epicsdf</span></tt></a>: EPICS diskfree, in python<a class="headerlink" href="#epicsdf-epics-diskfree-in-python" title="Permalink to this headline">¶</a></h1>
80<p>The <a class="reference internal" href="#module-epicsdf" title="epicsdf: diskfree, in python"><tt class="xref py py-mod docutils literal"><span class="pre">epicsdf</span></tt></a> module watches a disk partition and periodically reports
81information to EPICS PVs.
82The <tt class="xref py py-func docutils literal"><span class="pre">epicsdf.run()</span></tt> function is used to run the background job.
83The <tt class="xref py py-func docutils literal"><span class="pre">epicsdf.df_demo()</span></tt> function gives
84a demonstration of one possible, alternative use.</p>
85<span class="target" id="module-epicsdf"></span><p>EPICS client diskfree, in python</p>
86<dl class="class">
87<dt id="epicsdf.epicsdf">
88<em class="property">class </em><tt class="descclassname">epicsdf.</tt><tt class="descname">epicsdf</tt><big>(</big><em>prefix</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf" title="Permalink to this definition">¶</a></dt>
89<dd><p>Connect to a support database of epicsdf and
90watch the indicated disk partition.  Report the values
91to EPICS and watch for an alarm. Send an email when the
92alarm calcout PV changes.</p>
93<table class="docutils field-list" frame="void" rules="none">
94<col class="field-name" />
95<col class="field-body" />
96<tbody valign="top">
97<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>prefix</strong> (<em>str</em>) &#8211; prefix of EPICS support database instance
98(will not be changed after constructor)</td>
99</tr>
100<tr class="field"><th class="field-name">Note :</th><td class="field-body">Some PV values in the support database are needed
101to construct the text of the email
102or the mailing list.  Since it is not allowed to call caget
103during a camonitor callback, we need to monitor them and
104cache the values for use in the callback.</td>
105</tr>
106</tbody>
107</table>
108<p>Usage:</p>
109<p>There are only three methods in this class that should be called
110from the outside.  All others methods are used internally.</p>
111<p><a class="reference internal" href="#epicsdf.epicsdf.run" title="epicsdf.epicsdf.run"><tt class="xref py py-meth docutils literal"><span class="pre">run()</span></tt></a> for routine use:</p>
112<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">epicsdf</span> <span class="kn">import</span> <span class="n">epicsdf</span>
113<span class="n">df</span> <span class="o">=</span> <span class="n">epicsdf</span><span class="p">(</span><span class="s">&#39;prj:p300:df:&#39;</span><span class="p">)</span>  <span class="c"># construct it</span>
114<span class="n">df</span><span class="o">.</span><span class="n">run</span><span class="p">()</span>                      <span class="c"># run forever</span>
115</pre></div>
116</div>
117<p><a class="reference internal" href="#epicsdf.epicsdf.demo" title="epicsdf.epicsdf.demo"><tt class="xref py py-meth docutils literal"><span class="pre">demo()</span></tt></a> for code development:</p>
118<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">epicsdf</span> <span class="kn">import</span> <span class="n">epicsdf</span>
119<span class="n">df</span> <span class="o">=</span> <span class="n">epicsdf</span><span class="p">(</span><span class="s">&#39;prj:p300:df:&#39;</span><span class="p">)</span>  <span class="c"># construct it</span>
120<span class="n">df</span><span class="o">.</span><span class="n">demo</span><span class="p">()</span>                     <span class="c"># display a list of partitions</span>
121</pre></div>
122</div>
123<p><a class="reference internal" href="#epicsdf.epicsdf.df2epics" title="epicsdf.epicsdf.df2epics"><tt class="xref py py-meth docutils literal"><span class="pre">df2epics()</span></tt></a> could be called for one-off use:</p>
124<div class="highlight-python"><div class="highlight"><pre><span class="kn">from</span> <span class="nn">epicsdf</span> <span class="kn">import</span> <span class="n">epicsdf</span>
125<span class="n">df</span> <span class="o">=</span> <span class="n">epicsdf</span><span class="p">(</span><span class="s">&#39;prj:p300:df:&#39;</span><span class="p">)</span>  <span class="c"># construct it</span>
126<span class="n">df</span><span class="o">.</span><span class="n">df2epics</span><span class="p">()</span>                 <span class="c"># update once</span>
127</pre></div>
128</div>
129<dl class="method">
130<dt id="epicsdf.epicsdf.caget">
131<tt class="descname">caget</tt><big>(</big><em>item</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.caget"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.caget" title="Permalink to this definition">¶</a></dt>
132<dd><table class="docutils field-list" frame="void" rules="none">
133<col class="field-name" />
134<col class="field-body" />
135<tbody valign="top">
136<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>item</strong> (<em>str</em>) &#8211; name of item in support database</td>
137</tr>
138<tr class="field"><th class="field-name">Returns:</th><td class="field-body">value of EPICS PV within our support database</td>
139</tr>
140</tbody>
141</table>
142</dd></dl>
143
144<dl class="method">
145<dt id="epicsdf.epicsdf.caput">
146<tt class="descname">caput</tt><big>(</big><em>item</em>, <em>value</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.caput"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.caput" title="Permalink to this definition">¶</a></dt>
147<dd><table class="docutils field-list" frame="void" rules="none">
148<col class="field-name" />
149<col class="field-body" />
150<tbody valign="top">
151<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
152<li><strong>item</strong> (<em>str</em>) &#8211; name of item in support database</li>
153<li><strong>value</strong> &#8211; new value of item</li>
154</ul>
155</td>
156</tr>
157</tbody>
158</table>
159</dd></dl>
160
161<dl class="method">
162<dt id="epicsdf.epicsdf.demo">
163<tt class="descname">demo</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.demo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.demo" title="Permalink to this definition">¶</a></dt>
164<dd><p>demonstrate one possible use of this code,
165to replicate the UNIX df command:</p>
166<div class="highlight-python"><pre>[jemian@gov,402,src]$ ./epicsdf.py
167       total         free    available    use%
168214748364800  42878369792  42878369792   80.0% .
169 20803424256  10699845632   9626038272   53.7% /
170   103512064     68733952     63389696   38.8% /boot
171  1936355328   1936334848   1936334848    0.0% /dev/shm
172215406047232 184723456000 173604937728   19.4% /local
173 20803424256  10699845632   9626038272   53.7% /tmp</pre>
174</div>
175</dd></dl>
176
177<dl class="method">
178<dt id="epicsdf.epicsdf.df">
179<tt class="descname">df</tt><big>(</big><em>newdisk=None</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.df"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.df" title="Permalink to this definition">¶</a></dt>
180<dd><p>Determine the available space of a (disk) partition,
181Report the results in a dictionary.</p>
182<table class="docutils field-list" frame="void" rules="none">
183<col class="field-name" />
184<col class="field-body" />
185<tbody valign="top">
186<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>newdisk</strong> (<em>str</em>) &#8211; name of disk to examine (will replace self.disk if not None)</td>
187</tr>
188<tr class="field"><th class="field-name">Returns:</th><td class="field-body">dictionary or None if partition does not exist or zero values</td>
189</tr>
190<tr class="field"><th class="field-name">Return type:</th><td class="field-body">dict</td>
191</tr>
192</tbody>
193</table>
194<table border="1" class="docutils">
195<colgroup>
196<col width="24%" />
197<col width="14%" />
198<col width="62%" />
199</colgroup>
200<thead valign="bottom">
201<tr><th class="head">index</th>
202<th class="head">units</th>
203<th class="head">description</th>
204</tr>
205</thead>
206<tbody valign="top">
207<tr><td>total</td>
208<td>bytes</td>
209<td>total space on the partition</td>
210</tr>
211<tr><td>free</td>
212<td>bytes</td>
213<td>free space</td>
214</tr>
215<tr><td>avail</td>
216<td>bytes</td>
217<td>available space</td>
218</tr>
219<tr><td>used</td>
220<td>bytes</td>
221<td>total - avail</td>
222</tr>
223<tr><td>%free</td>
224<td>%</td>
225<td><img src="../_images/mathmpl/math-e604e1119d.png" style="position: relative; bottom: -8px"/></td>
226</tr>
227<tr><td>%avail</td>
228<td>%</td>
229<td><img src="../_images/mathmpl/math-6e9acb7536.png" style="position: relative; bottom: -8px"/></td>
230</tr>
231<tr><td>%used</td>
232<td>%</td>
233<td><img src="../_images/mathmpl/math-a2c104dbc9.png" style="position: relative; bottom: -4px"/></td>
234</tr>
235</tbody>
236</table>
237</dd></dl>
238
239<dl class="method">
240<dt id="epicsdf.epicsdf.df2epics">
241<tt class="descname">df2epics</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.df2epics"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.df2epics" title="Permalink to this definition">¶</a></dt>
242<dd><p>Examine a disk partition and if possible, push its info to EPICS.
243Get the partition name from the EPICS database.</p>
244<table class="docutils field-list" frame="void" rules="none">
245<col class="field-name" />
246<col class="field-body" />
247<tbody valign="top">
248<tr class="field"><th class="field-name">Returns:</th><td class="field-body">dictionary from <a class="reference internal" href="#epicsdf.epicsdf.df" title="epicsdf.epicsdf.df"><tt class="xref py py-meth docutils literal"><span class="pre">df()</span></tt></a> or None</td>
249</tr>
250<tr class="field"><th class="field-name">Return type:</th><td class="field-body">dict</td>
251</tr>
252</tbody>
253</table>
254</dd></dl>
255
256<dl class="method">
257<dt id="epicsdf.epicsdf.doPeriodicUpdate">
258<tt class="descname">doPeriodicUpdate</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.doPeriodicUpdate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.doPeriodicUpdate" title="Permalink to this definition">¶</a></dt>
259<dd><p>Do the work of the periodic update,
260getting the results of <a class="reference internal" href="#epicsdf.epicsdf.df" title="epicsdf.epicsdf.df"><tt class="xref py py-meth docutils literal"><span class="pre">df()</span></tt></a> 
261(with <tt class="docutils literal"><span class="pre">self.disk</span></tt> as the argument)
262and pushing the values up to the EPICS PVs.
263Then, set the time of the next update.</p>
264<table class="docutils field-list" frame="void" rules="none">
265<col class="field-name" />
266<col class="field-body" />
267<tbody valign="top">
268<tr class="field"><th class="field-name">Note :</th><td class="field-body">Several PV changes can force an update to happen.
269See the on... methods (callback handlers) for details.</td>
270</tr>
271</tbody>
272</table>
273</dd></dl>
274
275<dl class="method">
276<dt id="epicsdf.epicsdf.getDisk">
277<tt class="descname">getDisk</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.getDisk"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.getDisk" title="Permalink to this definition">¶</a></dt>
278<dd><table class="docutils field-list" frame="void" rules="none">
279<col class="field-name" />
280<col class="field-body" />
281<tbody valign="top">
282<tr class="field"><th class="field-name">Returns:</th><td class="field-body">name of disk partition to be watched</td>
283</tr>
284<tr class="field"><th class="field-name">Return type:</th><td class="field-body">str</td>
285</tr>
286</tbody>
287</table>
288</dd></dl>
289
290<dl class="method">
291<dt id="epicsdf.epicsdf.isValidPeriod">
292<tt class="descname">isValidPeriod</tt><big>(</big><em>value</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.isValidPeriod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.isValidPeriod" title="Permalink to this definition">¶</a></dt>
293<dd><p>check that the given value is valid to be used as a period</p>
294<table class="docutils field-list" frame="void" rules="none">
295<col class="field-name" />
296<col class="field-body" />
297<tbody valign="top">
298<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<em>int or float</em>) &#8211; candidate value of period,
299must be 1.0 or greater AND an int or a float</td>
300</tr>
301<tr class="field"><th class="field-name">Return type:</th><td class="field-body">bool</td>
302</tr>
303</tbody>
304</table>
305</dd></dl>
306
307<dl class="method">
308<dt id="epicsdf.epicsdf.logger">
309<tt class="descname">logger</tt><big>(</big><em>message</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.logger"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.logger" title="Permalink to this definition">¶</a></dt>
310<dd><p>log a report from this class.</p>
311<table class="docutils field-list" frame="void" rules="none">
312<col class="field-name" />
313<col class="field-body" />
314<tbody valign="top">
315<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> (<em>str</em>) &#8211; words to be logged</td>
316</tr>
317</tbody>
318</table>
319</dd></dl>
320
321<dl class="method">
322<dt id="epicsdf.epicsdf.onAlarmPvChange">
323<tt class="descname">onAlarmPvChange</tt><big>(</big><em>pvname=None</em>, <em>value=None</em>, <em>host=None</em>, <em>**kws</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.onAlarmPvChange"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.onAlarmPvChange" title="Permalink to this definition">¶</a></dt>
324<dd><p>callback handler:
325Respond to camonitor on the alarm PV.
326Trigger to send an email message.</p>
327<table class="docutils field-list" frame="void" rules="none">
328<col class="field-name" />
329<col class="field-body" />
330<tbody valign="top">
331<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
332<li><strong>pvname</strong> (<em>str</em>) &#8211; monitored EPICS process variable name</li>
333<li><strong>value</strong> &#8211; value of EPICS process variable</li>
334<li><strong>host</strong> (<em>str</em>) &#8211; computer host name where the IOC resides</li>
335<li><strong>kws</strong> (<em>dict</em>) &#8211; PyEPICS keyword dictionary for callback functions</li>
336</ul>
337</td>
338</tr>
339</tbody>
340</table>
341</dd></dl>
342
343<dl class="method">
344<dt id="epicsdf.epicsdf.onDiskPvChange">
345<tt class="descname">onDiskPvChange</tt><big>(</big><em>pvname=None</em>, <em>value=None</em>, <em>host=None</em>, <em>**kws</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.onDiskPvChange"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.onDiskPvChange" title="Permalink to this definition">¶</a></dt>
346<dd><p>callback handler:
347Respond to camonitor on the disk PV.</p>
348<table class="docutils field-list" frame="void" rules="none">
349<col class="field-name" />
350<col class="field-body" />
351<tbody valign="top">
352<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
353<li><strong>pvname</strong> (<em>str</em>) &#8211; monitored EPICS process variable name</li>
354<li><strong>value</strong> &#8211; value of EPICS process variable</li>
355<li><strong>host</strong> (<em>str</em>) &#8211; computer host name where the IOC resides</li>
356<li><strong>kws</strong> (<em>dict</em>) &#8211; PyEPICS keyword dictionary for callback functions</li>
357</ul>
358</td>
359</tr>
360<tr class="field"><th class="field-name">Note :</th><td class="field-body"><p class="first last">An acceptable change of disk partition forces an update.</p>
361</td>
362</tr>
363</tbody>
364</table>
365</dd></dl>
366
367<dl class="method">
368<dt id="epicsdf.epicsdf.onEmailsPvChange">
369<tt class="descname">onEmailsPvChange</tt><big>(</big><em>pvname=None</em>, <em>value=None</em>, <em>host=None</em>, <em>**kws</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.onEmailsPvChange"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.onEmailsPvChange" title="Permalink to this definition">¶</a></dt>
370<dd><p>callback handler:
371Respond to camonitor on the email_list PV.</p>
372<table class="docutils field-list" frame="void" rules="none">
373<col class="field-name" />
374<col class="field-body" />
375<tbody valign="top">
376<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
377<li><strong>pvname</strong> (<em>str</em>) &#8211; monitored EPICS process variable name</li>
378<li><strong>value</strong> &#8211; value of EPICS process variable</li>
379<li><strong>host</strong> (<em>str</em>) &#8211; computer host name where the IOC resides</li>
380<li><strong>kws</strong> (<em>dict</em>) &#8211; PyEPICS keyword dictionary for callback functions</li>
381</ul>
382</td>
383</tr>
384</tbody>
385</table>
386</dd></dl>
387
388<dl class="method">
389<dt id="epicsdf.epicsdf.onMessagePvChange">
390<tt class="descname">onMessagePvChange</tt><big>(</big><em>pvname=None</em>, <em>value=None</em>, <em>host=None</em>, <em>**kws</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.onMessagePvChange"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.onMessagePvChange" title="Permalink to this definition">¶</a></dt>
391<dd><p>callback handler:
392Respond to camonitor on the message PV.</p>
393<table class="docutils field-list" frame="void" rules="none">
394<col class="field-name" />
395<col class="field-body" />
396<tbody valign="top">
397<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
398<li><strong>pvname</strong> (<em>str</em>) &#8211; monitored EPICS process variable name</li>
399<li><strong>value</strong> &#8211; value of EPICS process variable</li>
400<li><strong>host</strong> (<em>str</em>) &#8211; computer host name where the IOC resides</li>
401<li><strong>kws</strong> (<em>dict</em>) &#8211; PyEPICS keyword dictionary for callback functions</li>
402</ul>
403</td>
404</tr>
405</tbody>
406</table>
407</dd></dl>
408
409<dl class="method">
410<dt id="epicsdf.epicsdf.onPeriodPvChange">
411<tt class="descname">onPeriodPvChange</tt><big>(</big><em>pvname=None</em>, <em>value=None</em>, <em>host=None</em>, <em>**kws</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.onPeriodPvChange"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.onPeriodPvChange" title="Permalink to this definition">¶</a></dt>
412<dd><p>callback handler:
413Respond to camonitor on the period PV.</p>
414<table class="docutils field-list" frame="void" rules="none">
415<col class="field-name" />
416<col class="field-body" />
417<tbody valign="top">
418<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
419<li><strong>pvname</strong> (<em>str</em>) &#8211; monitored EPICS process variable name</li>
420<li><strong>value</strong> &#8211; value of EPICS process variable</li>
421<li><strong>host</strong> (<em>str</em>) &#8211; computer host name where the IOC resides</li>
422<li><strong>kws</strong> (<em>dict</em>) &#8211; PyEPICS keyword dictionary for callback functions</li>
423</ul>
424</td>
425</tr>
426<tr class="field"><th class="field-name">Note :</th><td class="field-body"><p class="first last">An acceptable change of period forces an update.</p>
427</td>
428</tr>
429</tbody>
430</table>
431</dd></dl>
432
433<dl class="method">
434<dt id="epicsdf.epicsdf.run">
435<tt class="descname">run</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.run" title="Permalink to this definition">¶</a></dt>
436<dd><p>Run the job periodically &#8211; forever.</p>
437</dd></dl>
438
439<dl class="method">
440<dt id="epicsdf.epicsdf.sendMail">
441<tt class="descname">sendMail</tt><big>(</big><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.sendMail"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.sendMail" title="Permalink to this definition">¶</a></dt>
442<dd><p>send an email message when called</p>
443</dd></dl>
444
445<dl class="method">
446<dt id="epicsdf.epicsdf.setPeriod">
447<tt class="descname">setPeriod</tt><big>(</big><em>value=10.0</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.setPeriod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.setPeriod" title="Permalink to this definition">¶</a></dt>
448<dd><p>define the waiting period between updates (units = seconds)</p>
449<table class="docutils field-list" frame="void" rules="none">
450<col class="field-name" />
451<col class="field-body" />
452<tbody valign="top">
453<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>value</strong> (<em>int or float</em>) &#8211; candidate value of period (default = 10.0),
454must be 1.0 or greater AND an int or a float</td>
455</tr>
456</tbody>
457</table>
458</dd></dl>
459
460<dl class="method">
461<dt id="epicsdf.epicsdf.wf2str">
462<tt class="descname">wf2str</tt><big>(</big><em>arr</em><big>)</big><a class="reference internal" href="../_modules/epicsdf.html#epicsdf.wf2str"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#epicsdf.epicsdf.wf2str" title="Permalink to this definition">¶</a></dt>
463<dd><p>converts an array of char from an
464EPICS waveform record to a python string</p>
465<table class="docutils field-list" frame="void" rules="none">
466<col class="field-name" />
467<col class="field-body" />
468<tbody valign="top">
469<tr class="field"><th class="field-name">Parameters:</th><td class="field-body"><strong>arr</strong> (<em>numpy.ndarray</em>) &#8211; NumPy array of char from EPICS waveform record</td>
470</tr>
471<tr class="field"><th class="field-name">Returns:</th><td class="field-body">string as represented by arr</td>
472</tr>
473<tr class="field"><th class="field-name">Return type:</th><td class="field-body">str</td>
474</tr>
475</tbody>
476</table>
477</dd></dl>
478
479</dd></dl>
480
481</div>
482
483
484          </div>
485        </div>
486      </div>
487      <div class="clearer"></div>
488    </div>
489    <div class="related">
490      <h3>Navigation</h3>
491      <ul>
492        <li class="right" style="margin-right: 10px">
493          <a href="../genindex.html" title="General Index"
494             >index</a></li>
495        <li class="right" >
496          <a href="../py-modindex.html" title="Python Module Index"
497             >modules</a> |</li>
498        <li class="right" >
499          <a href="index.html" title="Source code documentation"
500             >previous</a> |</li>
501        <li><a href="../index.html">epicsdf v1.0 documentation</a> &raquo;</li>
502          <li><a href="../contents.html" >Contents</a> &raquo;</li>
503          <li><a href="index.html" >Source code documentation</a> &raquo;</li> 
504      </ul>
505    </div>
506    <div class="footer">
507        &copy; Copyright 2011, Pete Jemian.
508      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
509    </div>
510  </body>
511</html>
Note: See TracBrowser for help on using the repository browser.