@@ -4,10 +4,10 @@ Creating an IOC
44Introduction
55------------
66
7- Once the module has been installed (see :doc: `installation `) we can create a
7+ Once the module has been installed (see `installation `) we can create a
88simple EPICS Input/Output Controller (IOC).
99
10- An EPICS IOC created with the help of ``pythonIoc `` and :mod: `softioc ` is
10+ An EPICS IOC created with the help of ``pythonIoc `` and `softioc ` is
1111referred to as a "Python soft IOC". The code below illustrates a simple IOC
1212with two Process Variables (PVs):
1313
@@ -19,21 +19,21 @@ Each section is explained in detail below:
1919 :start-after: # Import
2020 :end-before: # Set
2121
22- The :mod: `softioc ` library is part of ``pythonIoc ``. The two submodules
23- :mod: `softioc.softioc ` and :mod: `softioc.builder ` provide the basic
22+ The `softioc ` library is part of ``pythonIoc ``. The two submodules
23+ `softioc.softioc ` and `softioc.builder ` provide the basic
2424functionality for Python soft IOCs and are the ones that are normally used.
2525
26- :mod: `cothread ` is one of the two possible libraries the IOC can use for
26+ `cothread ` is one of the two possible libraries the IOC can use for
2727asynchronous operations.
28- (see :doc: `../how-to/use-asyncio-in-an-ioc ` for the alternative)
28+ (see `../how-to/use-asyncio-in-an-ioc ` for the alternative)
2929
3030
3131
3232.. literalinclude :: ../examples/example_cothread_ioc.py
3333 :start-after: # Create
3434 :end-before: # Boilerplate
3535
36- PVs are normally created dynamically using :mod: `softioc.builder `. All PV
36+ PVs are normally created dynamically using `softioc.builder `. All PV
3737creation must be done before initialising the IOC. We define a lambda function for
3838`on_update ` on ``ao `` such that whenever we set ``ao ``, ``ai `` will be set to the
3939same value. The ``always_update `` flag ensures that the ``on_update `` function is always
@@ -66,11 +66,11 @@ needed. The :func:`~softioc.softioc.interactive_ioc` runs a Python
6666interpreter shell with a number of useful EPICS functions in scope, and
6767passing ``globals() `` through can allow interactive interaction with the
6868internals of the IOC while it's running. The alternative is to call something
69- like :func: `cothread.WaitForQuit ` or some other :mod: `cothread ` blocking
69+ like :func: `cothread.WaitForQuit ` or some other `cothread ` blocking
7070action.
7171
7272In this interpreter there is immediate access to methods defined in the
73- :mod: `softioc.softioc ` module. For example the :func: `~softioc.softioc.dbgf ` function
73+ `softioc.softioc ` module. For example the :func: `~softioc.softioc.dbgf ` function
7474can be run to observe the increasing value of ``AI ``::
7575
7676 >>> dbgf("MY-DEVICE-PREFIX:AI")
@@ -93,12 +93,12 @@ and read the value on ``AI`` (exact values will vary based on time taken)::
9393Creating PVs
9494------------
9595
96- See the documentation of :mod: `softioc.builder ` for details, but an overview is
96+ See the documentation of `softioc.builder ` for details, but an overview is
9797provided here.
9898
9999PVs are created internally and dynamically using functionality provided by
100- :mod: `epicsdbbuilder `, which in this context simply provides mechanisms for
101- creating ``.db `` files, but :mod: `softioc.builder ` also binds each created PV to
100+ `epicsdbbuilder `, which in this context simply provides mechanisms for
101+ creating ``.db `` files, but `softioc.builder ` also binds each created PV to
102102a special ``Python `` device -- this allows PV processing to be hooked into
103103Python support.
104104
@@ -131,7 +131,3 @@ For all records created by these methods both
131131reading and writing the current value of the record. For IN records calling
132132:meth: `~softioc.device.ProcessDeviceSupportIn.set ` will trigger a record update
133133(all IN records are by default created with ``SCAN='I/O Intr' ``).
134-
135-
136- .. _cothread : https://github.com/dls-controls/cothread
137- .. _epicsdbbuilder : https://github.com/Araneidae/epicsdbbuilder
0 commit comments