Skip to content

Commit f61c753

Browse files
deploy: 3126269
1 parent 5da2d91 commit f61c753

29 files changed

Lines changed: 44 additions & 37 deletions

master/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 4fd49a62cf7c312aff69af2a3f619dc5
3+
config: 9776343b9e6610bcc11d3cb758a0f95a
44
tags: 645f666f9bcd5a90fca523b33c5a78b7
200 Bytes
Binary file not shown.
428 Bytes
Binary file not shown.

master/_modules/epicsdbbuilder/recordbase.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>epicsdbbuilder.recordbase &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>epicsdbbuilder.recordbase &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />

master/_modules/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>Overview: module code &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>Overview: module code &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../_static/theme_overrides.css" type="text/css" />

master/_modules/softioc/asyncio_dispatcher.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>softioc.asyncio_dispatcher &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>softioc.asyncio_dispatcher &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />

master/_modules/softioc/autosave.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>softioc.autosave &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>softioc.autosave &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />

master/_modules/softioc/builder.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>softioc.builder &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>softioc.builder &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />

master/_modules/softioc/device.html

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>softioc.device &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>softioc.device &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />
@@ -105,7 +105,7 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre>
105105
<span class="n">dbLoadDatabase</span><span class="p">,</span>
106106
<span class="n">signal_processing_complete</span><span class="p">,</span>
107107
<span class="n">recGblResetAlarms</span><span class="p">,</span>
108-
<span class="n">db_put_field</span><span class="p">,</span>
108+
<span class="n">db_put_field_process</span><span class="p">,</span>
109109
<span class="n">db_get_field</span><span class="p">,</span>
110110
<span class="p">)</span>
111111
<span class="kn">from</span> <span class="nn">.device_core</span> <span class="kn">import</span> <span class="n">DeviceSupportCore</span><span class="p">,</span> <span class="n">RecordLookup</span>
@@ -202,7 +202,7 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre>
202202
<span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="n">c_char</span> <span class="o">*</span> <span class="mi">40</span><span class="p">)()</span>
203203
<span class="n">data</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span><span class="o">.</span><span class="n">encode</span><span class="p">()</span> <span class="o">+</span> <span class="sa">b</span><span class="s1">&#39;</span><span class="se">\0</span><span class="s1">&#39;</span>
204204
<span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_name</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">field</span>
205-
<span class="n">db_put_field</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">fields</span><span class="o">.</span><span class="n">DBF_STRING</span><span class="p">,</span> <span class="n">addressof</span><span class="p">(</span><span class="n">data</span><span class="p">),</span> <span class="mi">1</span><span class="p">)</span>
205+
<span class="n">db_put_field_process</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">fields</span><span class="o">.</span><span class="n">DBF_STRING</span><span class="p">,</span> <span class="n">addressof</span><span class="p">(</span><span class="n">data</span><span class="p">),</span> <span class="mi">1</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
206206

207207
<div class="viewcode-block" id="ProcessDeviceSupportIn"><a class="viewcode-back" href="../../reference/api.html#softioc.builder.ProcessDeviceSupportIn">[docs]</a><span class="k">class</span> <span class="nc">ProcessDeviceSupportIn</span><span class="p">(</span><span class="n">ProcessDeviceSupportCore</span><span class="p">):</span>
208208
<span class="n">_link_</span> <span class="o">=</span> <span class="s1">&#39;INP&#39;</span>
@@ -272,7 +272,6 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre>
272272

273273
<span class="bp">self</span><span class="o">.</span><span class="n">__validate</span> <span class="o">=</span> <span class="n">kargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;validate&#39;</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
274274
<span class="bp">self</span><span class="o">.</span><span class="n">__always_update</span> <span class="o">=</span> <span class="n">kargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;always_update&#39;</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
275-
<span class="bp">self</span><span class="o">.</span><span class="n">__enable_write</span> <span class="o">=</span> <span class="kc">True</span>
276275

277276
<span class="k">if</span> <span class="s1">&#39;initial_value&#39;</span> <span class="ow">in</span> <span class="n">kargs</span><span class="p">:</span>
278277
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_value_to_epics</span><span class="p">(</span><span class="n">kargs</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s1">&#39;initial_value&#39;</span><span class="p">))</span>
@@ -333,8 +332,7 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre>
333332
<span class="k">return</span> <span class="n">EPICS_OK</span>
334333

335334
<span class="n">python_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_epics_to_value</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
336-
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">__enable_write</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">__validate</span> <span class="ow">and</span> \
337-
<span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">__validate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">python_value</span><span class="p">):</span>
335+
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">__validate</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">__validate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">python_value</span><span class="p">):</span>
338336
<span class="c1"># Asynchronous validation rejects value, so restore the last good</span>
339337
<span class="c1"># value.</span>
340338
<span class="bp">self</span><span class="o">.</span><span class="n">_write_value</span><span class="p">(</span><span class="n">record</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_value</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
@@ -343,7 +341,7 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre>
343341
<span class="c1"># Value is good. Hang onto it, let users know the value has changed</span>
344342
<span class="bp">self</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">severity</span><span class="p">,</span> <span class="n">alarm</span><span class="p">)</span>
345343
<span class="n">record</span><span class="o">.</span><span class="n">UDF</span> <span class="o">=</span> <span class="mi">0</span>
346-
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">__on_update</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">__enable_write</span><span class="p">:</span>
344+
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">__on_update</span><span class="p">:</span>
347345
<span class="n">record</span><span class="o">.</span><span class="n">PACT</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_blocking</span>
348346
<span class="n">dispatcher</span><span class="p">(</span>
349347
<span class="bp">self</span><span class="o">.</span><span class="n">__on_update</span><span class="p">,</span>
@@ -381,9 +379,15 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre>
381379
<span class="k">else</span><span class="p">:</span>
382380
<span class="c1"># The array parameter is used to keep the raw pointer alive</span>
383381
<span class="n">dbf_code</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">array</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_value_to_dbr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
384-
<span class="bp">self</span><span class="o">.</span><span class="n">__enable_write</span> <span class="o">=</span> <span class="n">process</span>
385-
<span class="n">db_put_field</span><span class="p">(</span><span class="n">_record</span><span class="o">.</span><span class="n">NAME</span><span class="p">,</span> <span class="n">dbf_code</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">length</span><span class="p">)</span>
386-
<span class="bp">self</span><span class="o">.</span><span class="n">__enable_write</span> <span class="o">=</span> <span class="kc">True</span></div>
382+
383+
<span class="c1"># If we do process we instead do this inside _process, allowing</span>
384+
<span class="c1"># validation to potentially refuse the update.</span>
385+
<span class="c1"># However if we do not process, we must do this here to keep the</span>
386+
<span class="c1"># Python and EPICS values in line</span>
387+
<span class="k">if</span> <span class="ow">not</span> <span class="n">process</span><span class="p">:</span>
388+
<span class="bp">self</span><span class="o">.</span><span class="n">_value</span> <span class="o">=</span> <span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">severity</span><span class="p">,</span> <span class="n">alarm</span><span class="p">)</span>
389+
390+
<span class="n">db_put_field_process</span><span class="p">(</span><span class="n">_record</span><span class="o">.</span><span class="n">NAME</span><span class="p">,</span> <span class="n">dbf_code</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="n">process</span><span class="p">)</span></div>
387391

388392
<div class="viewcode-block" id="ProcessDeviceSupportOut.get"><a class="viewcode-back" href="../../reference/api.html#softioc.builder.ProcessDeviceSupportOut.get">[docs]</a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
389393
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_epics_to_value</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_value</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span></div></div>

master/_modules/softioc/softioc.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6-
<title>softioc.softioc &mdash; pythonSoftIOC 4.7.0+3.g09ea964 documentation</title>
6+
<title>softioc.softioc &mdash; pythonSoftIOC 4.7.0+6.g3126269 documentation</title>
77
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
88
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
99
<link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" />

0 commit comments

Comments
 (0)