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 — 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> »</li> |
---|
43 | <li><a href="../contents.html" >Contents</a> »</li> |
---|
44 | <li><a href="index.html" accesskey="U">Source code documentation</a> »</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 |
---|
81 | information to EPICS PVs. |
---|
82 | The <tt class="xref py py-func docutils literal"><span class="pre">epicsdf.run()</span></tt> function is used to run the background job. |
---|
83 | The <tt class="xref py py-func docutils literal"><span class="pre">epicsdf.df_demo()</span></tt> function gives |
---|
84 | a 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 |
---|
90 | watch the indicated disk partition. Report the values |
---|
91 | to EPICS and watch for an alarm. Send an email when the |
---|
92 | alarm 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>) – 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 |
---|
101 | to construct the text of the email |
---|
102 | or the mailing list. Since it is not allowed to call caget |
---|
103 | during a camonitor callback, we need to monitor them and |
---|
104 | cache 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 |
---|
110 | from 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">'prj:p300:df:'</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">'prj:p300:df:'</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">'prj:p300:df:'</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>) – 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>) – name of item in support database</li> |
---|
153 | <li><strong>value</strong> – 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, |
---|
165 | to replicate the UNIX df command:</p> |
---|
166 | <div class="highlight-python"><pre>[jemian@gov,402,src]$ ./epicsdf.py |
---|
167 | total free available use% |
---|
168 | 214748364800 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 |
---|
172 | 215406047232 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, |
---|
181 | Report 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>) – 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. |
---|
243 | Get 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, |
---|
260 | getting 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) |
---|
262 | and pushing the values up to the EPICS PVs. |
---|
263 | Then, 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. |
---|
269 | See 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>) – candidate value of period, |
---|
299 | must 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>) – 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: |
---|
325 | Respond to camonitor on the alarm PV. |
---|
326 | Trigger 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>) – monitored EPICS process variable name</li> |
---|
333 | <li><strong>value</strong> – value of EPICS process variable</li> |
---|
334 | <li><strong>host</strong> (<em>str</em>) – computer host name where the IOC resides</li> |
---|
335 | <li><strong>kws</strong> (<em>dict</em>) – 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: |
---|
347 | Respond 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>) – monitored EPICS process variable name</li> |
---|
354 | <li><strong>value</strong> – value of EPICS process variable</li> |
---|
355 | <li><strong>host</strong> (<em>str</em>) – computer host name where the IOC resides</li> |
---|
356 | <li><strong>kws</strong> (<em>dict</em>) – 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: |
---|
371 | Respond 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>) – monitored EPICS process variable name</li> |
---|
378 | <li><strong>value</strong> – value of EPICS process variable</li> |
---|
379 | <li><strong>host</strong> (<em>str</em>) – computer host name where the IOC resides</li> |
---|
380 | <li><strong>kws</strong> (<em>dict</em>) – 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: |
---|
392 | Respond 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>) – monitored EPICS process variable name</li> |
---|
399 | <li><strong>value</strong> – value of EPICS process variable</li> |
---|
400 | <li><strong>host</strong> (<em>str</em>) – computer host name where the IOC resides</li> |
---|
401 | <li><strong>kws</strong> (<em>dict</em>) – 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: |
---|
413 | Respond 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>) – monitored EPICS process variable name</li> |
---|
420 | <li><strong>value</strong> – value of EPICS process variable</li> |
---|
421 | <li><strong>host</strong> (<em>str</em>) – computer host name where the IOC resides</li> |
---|
422 | <li><strong>kws</strong> (<em>dict</em>) – 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 – 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>) – candidate value of period (default = 10.0), |
---|
454 | must 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 |
---|
464 | EPICS 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>) – 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> »</li> |
---|
502 | <li><a href="../contents.html" >Contents</a> »</li> |
---|
503 | <li><a href="index.html" >Source code documentation</a> »</li> |
---|
504 | </ul> |
---|
505 | </div> |
---|
506 | <div class="footer"> |
---|
507 | © Copyright 2011, Pete Jemian. |
---|
508 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7. |
---|
509 | </div> |
---|
510 | </body> |
---|
511 | </html> |
---|