|
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
6 | | - <title>softioc.device — pythonSoftIOC 4.4.0+1.gdad702c documentation</title> |
| 6 | + <title>softioc.device — pythonSoftIOC 4.4.0+4.g906e058 documentation</title> |
7 | 7 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" /> |
8 | 8 | <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" /> |
9 | 9 | <link rel="stylesheet" href="../../_static/theme_overrides.css" type="text/css" /> |
@@ -104,6 +104,7 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre> |
104 | 104 | <span class="n">signal_processing_complete</span><span class="p">,</span> |
105 | 105 | <span class="n">recGblResetAlarms</span><span class="p">,</span> |
106 | 106 | <span class="n">db_put_field</span><span class="p">,</span> |
| 107 | + <span class="n">db_get_field</span><span class="p">,</span> |
107 | 108 | <span class="p">)</span> |
108 | 109 | <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> |
109 | 110 |
|
@@ -175,6 +176,26 @@ <h1>Source code for softioc.device</h1><div class="highlight"><pre> |
175 | 176 | <span class="k">def</span> <span class="nf">_write_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">record</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> |
176 | 177 | <span class="n">record</span><span class="o">.</span><span class="n">write_val</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> |
177 | 178 |
|
| 179 | + <span class="k">def</span> <span class="nf">get_field</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">field</span><span class="p">):</span> |
| 180 | + <span class="sd">''' Returns the given field value as a string.'''</span> |
| 181 | + <span class="k">assert</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_record"</span><span class="p">),</span> \ |
| 182 | + <span class="s1">'get_field may only be called after iocInit'</span> |
| 183 | + |
| 184 | + <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> |
| 185 | + <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">'.'</span> <span class="o">+</span> <span class="n">field</span> |
| 186 | + <span class="n">db_get_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> |
| 187 | + <span class="k">return</span> <span class="n">_string_at</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="mi">40</span><span class="p">)</span> |
| 188 | + |
| 189 | + <span class="k">def</span> <span class="nf">set_field</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">field</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> |
| 190 | + <span class="sd">'''Sets the given field to the given value. Value will be transported as</span> |
| 191 | +<span class="sd"> a DBF_STRING.'''</span> |
| 192 | + <span class="k">assert</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_record"</span><span class="p">),</span> \ |
| 193 | + <span class="s1">'set_field may only be called after iocInit'</span> |
| 194 | + |
| 195 | + <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> |
| 196 | + <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">'</span><span class="se">\0</span><span class="s1">'</span> |
| 197 | + <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">'.'</span> <span class="o">+</span> <span class="n">field</span> |
| 198 | + <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> |
178 | 199 |
|
179 | 200 | <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> |
180 | 201 | <span class="n">_link_</span> <span class="o">=</span> <span class="s1">'INP'</span> |
|
0 commit comments