Rename from secop to frappy

debian/ is still missing, will follow in next commit.

Fixes: #4626

Change-Id: Ia87c28c1c75b8402eedbfca47f888585a7881f44
This commit is contained in:
Alexander Zaft
2022-11-08 08:09:41 +01:00
committed by Enrico Faulhaber
parent c1eb764b09
commit 7f166a5b8c
168 changed files with 558 additions and 554 deletions

View File

@ -27,7 +27,7 @@ from os import path
# Add import path for inplace usage
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..', '..')))
from secop.version import get_version
from frappy.version import get_version
# -- General configuration ------------------------------------------------
@ -213,7 +213,7 @@ epub_exclude_files = ['search.html']
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'https://docs.python.org/': None}
from secop.lib.classdoc import class_doc_handler
from frappy.lib.classdoc import class_doc_handler
def setup(app):
app.connect('autodoc-process-docstring', class_doc_handler)
app.connect('autodoc-process-docstring', class_doc_handler)

View File

@ -1,10 +1,10 @@
Demo
====
.. automodule:: secop_demo.cryo
.. automodule:: frappy_demo.cryo
:show-inheritance:
:members:
.. automodule:: secop_demo.test
.. automodule:: frappy_demo.test
:show-inheritance:
:members:

View File

@ -4,6 +4,6 @@ ESS
EPICS
.....
.. automodule:: secop_ess.epics
.. automodule:: frappy_ess.epics
:show-inheritance:
:members:

View File

@ -4,7 +4,7 @@ MLZ
Amagnet (Garfield)
..................
.. automodule:: secop_mlz.amagnet
.. automodule:: frappy_mlz.amagnet
:show-inheritance:
:members:
@ -12,7 +12,7 @@ Amagnet (Garfield)
Entangle Framework
..................
.. automodule:: secop_mlz.entangle
.. automodule:: frappy_mlz.entangle
:show-inheritance:
:members:

View File

@ -4,7 +4,7 @@ PSI (SINQ)
CCU4 tutorial example
.....................
.. automodule:: secop_psi.ccu4
.. automodule:: frappy_psi.ccu4
:show-inheritance:
:members:
@ -12,7 +12,7 @@ CCU4 tutorial example
PPMS
....
.. automodule:: secop_psi.ppms
.. automodule:: frappy_psi.ppms
:show-inheritance:
:members:
@ -21,7 +21,7 @@ LakeShore 370
Calibrated sensors and control loop not yet supported.
.. automodule:: secop_psi.ls370res
.. automodule:: frappy_psi.ls370res
:show-inheritance:
:members:

View File

@ -7,10 +7,10 @@ Frappy Programming Guide
introduction
tutorial
reference
secop_psi
secop_demo
secop_mlz
secop_ess
frappy_psi
frappy_demo
frappy_mlz
frappy_ess
* :ref:`genindex`

View File

@ -57,10 +57,10 @@ to provide to the user.
Programming a Driver
--------------------
Programming a driver means extending one of the base classes like :class:`secop.modules.Readable`
or :class:`secop.modules.Drivable`. The parameters are defined in the dict :py:attr:`parameters`, as a
class attribute of the extended class, using the :class:`secop.params.Parameter` constructor, or in case
of altering the properties of an inherited parameter, :class:`secop.params.Override`.
Programming a driver means extending one of the base classes like :class:`frappy.modules.Readable`
or :class:`frappy.modules.Drivable`. The parameters are defined in the dict :py:attr:`parameters`, as a
class attribute of the extended class, using the :class:`frappy.params.Parameter` constructor, or in case
of altering the properties of an inherited parameter, :class:`frappy.params.Override`.
Parameters usually need a method :meth:`read_<name>()`
implementing the code to retrieve their value from the hardware. Writeable parameters

View File

@ -4,85 +4,85 @@ Reference
Module Base Classes
...................
.. autodata:: secop.modules.Done
.. autodata:: frappy.modules.Done
.. autoclass:: secop.modules.Module
.. autoclass:: frappy.modules.Module
:members: earlyInit, initModule, startModule
.. autoclass:: secop.modules.Readable
.. autoclass:: frappy.modules.Readable
:members: Status
.. autoclass:: secop.modules.Writable
.. autoclass:: frappy.modules.Writable
.. autoclass:: secop.modules.Drivable
.. autoclass:: frappy.modules.Drivable
:members: Status, isBusy, isDriving, stop
Parameters, Commands and Properties
...................................
.. autoclass:: secop.params.Parameter
.. autoclass:: secop.params.Command
.. autoclass:: secop.properties.Property
.. autoclass:: secop.modules.Attached
.. autoclass:: frappy.params.Parameter
.. autoclass:: frappy.params.Command
.. autoclass:: frappy.properties.Property
.. autoclass:: frappy.modules.Attached
:show-inheritance:
Datatypes
.........
.. autoclass:: secop.datatypes.FloatRange
.. autoclass:: secop.datatypes.IntRange
.. autoclass:: secop.datatypes.BoolType
.. autoclass:: secop.datatypes.ScaledInteger
.. autoclass:: secop.datatypes.EnumType
.. autoclass:: secop.datatypes.StringType
.. autoclass:: secop.datatypes.TupleOf
.. autoclass:: secop.datatypes.ArrayOf
.. autoclass:: secop.datatypes.StructOf
.. autoclass:: secop.datatypes.BLOBType
.. autoclass:: frappy.datatypes.FloatRange
.. autoclass:: frappy.datatypes.IntRange
.. autoclass:: frappy.datatypes.BoolType
.. autoclass:: frappy.datatypes.ScaledInteger
.. autoclass:: frappy.datatypes.EnumType
.. autoclass:: frappy.datatypes.StringType
.. autoclass:: frappy.datatypes.TupleOf
.. autoclass:: frappy.datatypes.ArrayOf
.. autoclass:: frappy.datatypes.StructOf
.. autoclass:: frappy.datatypes.BLOBType
Communication
.............
.. autoclass:: secop.modules.Communicator
.. autoclass:: frappy.modules.Communicator
:show-inheritance:
:members: communicate
.. autoclass:: secop.io.StringIO
.. autoclass:: frappy.io.StringIO
:show-inheritance:
:members: communicate, multicomm
.. autoclass:: secop.io.BytesIO
.. autoclass:: frappy.io.BytesIO
:show-inheritance:
:members: communicate, multicomm
.. autoclass:: secop.io.HasIO
.. autoclass:: frappy.io.HasIO
:show-inheritance:
.. autoclass:: secop.rwhandler.ReadHandler
.. autoclass:: frappy.rwhandler.ReadHandler
:show-inheritance:
:members:
.. autoclass:: secop.rwhandler.CommonReadHandler
.. autoclass:: frappy.rwhandler.CommonReadHandler
:show-inheritance:
:members:
.. autoclass:: secop.rwhandler.WriteHandler
.. autoclass:: frappy.rwhandler.WriteHandler
:show-inheritance:
:members:
.. autoclass:: secop.rwhandler.CommonWriteHandler
.. autoclass:: frappy.rwhandler.CommonWriteHandler
:show-inheritance:
:members:
Exception classes
.....................--
.................
.. automodule:: secop.errors
.. automodule:: frappy.errors
:members:
.. include:: server.rst

View File

@ -27,12 +27,12 @@ All other sections define the SECoP modules. The section name itself is the modu
mandatory fields are **class** and **description**. **class** is a path to the Python class
from there the module is instantiated, separated with dots. In the following example the class
**HeLevel** used by the **helevel** module can be found in the PSI facility subdirectory
secop_psi in the python module file ccu4.py:
frappy_psi in the python module file ccu4.py:
.. code::
[helevel]
class = secop_psi.ccu4.HeLevel
class = frappy_psi.ccu4.HeLevel
description = this is the He level sensor of the main reservoir
empty = 380
empty.export = False
@ -50,11 +50,11 @@ the SECoP interface.
Starting
........
The Frappy server can be started via the **bin/secop-server** script.
The Frappy server can be started via the **bin/frappy-server** script.
.. parsed-literal::
usage: secop-server [-h] [-v | -q] [-d] name
usage: frappy-server [-h] [-v | -q] [-d] name
Manage a Frappy server

View File

@ -8,7 +8,7 @@ meter, as this is the simplest module.
As mentioned in the introduction, we have to code the access to the hardware (driver),
and the Frappy framework will deal with the SECoP interface. The code for the driver is
located in a subdirectory named after the facility or institute programming the driver
in our case *secop_psi*. We create a file named from the electronic device CCU4 we use
in our case *frappy_psi*. We create a file named from the electronic device CCU4 we use
here for the He level reading.
CCU4 luckily has a very simple and logical protocol:
@ -17,12 +17,12 @@ CCU4 luckily has a very simple and logical protocol:
* ``<name>\n`` reads the parameter named ``<name>``
* in both cases, the reply is ``<name>=<value>\n``
``secop_psi/ccu4.py``:
``frappy_psi/ccu4.py``:
.. code:: python
# the most common Frappy classes can be imported from secop.core
from secop.core import Readable, Parameter, FloatRange, BoolType, StringIO, HasIO
# the most common Frappy classes can be imported from frappy.core
from frappy.core import Readable, Parameter, FloatRange, BoolType, StringIO, HasIO
class CCU4IO(StringIO):
@ -54,7 +54,7 @@ CCU4 luckily has a very simple and logical protocol:
return txtvalue # the framework will automatically convert the string to a float
The class :class:`secop_psi.ccu4.CCU4IO`, an extension of (:class:`secop.stringio.StringIO`)
The class :class:`frappy_psi.ccu4.CCU4IO`, an extension of (:class:`frappy.stringio.StringIO`)
serves as communication class.
:Note:
@ -183,7 +183,7 @@ which means it might be worth to create a *query* method, and then the
:Note:
It make sense to unify *empty_length* and *full_length* to one parameter *calibration*,
as a :class:`secop.datatypes.StructOf` with members *empty_length* and *full_length*:
as a :class:`frappy.datatypes.StructOf` with members *empty_length* and *full_length*:
.. code:: python
@ -196,7 +196,7 @@ which means it might be worth to create a *query* method, and then the
For simplicity we stay with two float parameters for this tutorial.
The full documentation of the example can be found here: :class:`secop_psi.ccu4.HeLevel`
The full documentation of the example can be found here: :class:`frappy_psi.ccu4.HeLevel`
Configuration
@ -220,7 +220,7 @@ We choose the name *example_cryo* and create therefore a configuration file
[helev]
description = He level of the cryostat He reservoir
class = secop_psi.ccu4.HeLevel
class = frappy_psi.ccu4.HeLevel
uri = linse-moxa-4.psi.ch:3001
empty_length = 380
full_length = 0