Pcaspy

Latest version: v0.8.1

Safety actively analyzes 683530 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.5.1

Not secure
-------------------
* Fixed that alarm and warn limits are taken from *lolo*/*hihi* and *low*/*high* fields. (Issue 11).
* Fixed `example/alarm_severity.py` so that `MTEST:STATUS` and `MTEST:RAND` are writable.

0.5.0

Not secure
------------------
* Fixed that cas.py is not installed (Issue 10).
* Fixed that put callback may fail if driver invokes :meth:`Driver.callbackPV` too soon(Issue 9). Thanks to Kay Kasemir.
* Added 16bit short integer type.
* Added printout of exceptions that are raised inside Python code.
* Added :meth:`Driver.setParamEnums` to change the states of enumerate PV at runtime (Issue 4).
* Added basic logging support. To enable console logging::

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(name)s: %(message)s')

* Changed so that timestamp is updated whenever :meth:`Driver.setParam` is called.
It was only updated when the values are new. The new behavior is the same as EPICS IOC.
* Packaging changes:
* Binary packages are distributed through `PyPI <https://pypi.python.org/pypi/pcaspy>`_.
* Document is hosted at `Read the Docs <https://pcaspy.readthedocs.org>`_.

0.4.1

Not secure
------------------
* Fixed PV initial status. By startup, it is UDF/INVALID.
* :meth:`Driver.setParam` makes a copy of list/numpy.ndarray objects.
This solves the racing condition, in which the value could be in the middle of updating
while CA client reads the value. Thanks to Kay Kasemir.

0.4

Not secure
----------------
* Change from GPL to New BSD License for broader audience.
* Added __version__ info
* Added access security control
access security control file can be loaded using :meth:`SimpleServer.initAccessSecurityFile`.
The loaded rules can then be assigned to PV's *asg* field.
`example/access_control.py` provides an example and better explained in :ref:`tutorial-access-security-control`.

* Added new type char.
It is used to represent a long string (>40 chars). And it behaves just like string parameters in driver.
example/pysh.py provides a concrete example, in PV `COMMAND` and `OUTPUT`.

* Added timestamp info.
The timestamp is set at each setParam call with new value different to current value.

* Added alarm/severity info.
* For *enum* type PV, the severity is configured by its *states* field.
It is a list of severity states, which can be NO_ALARM, MINOR_ALARM, MAJOR_ALARM, INVALID_ALARM.
If current state's severity is other than NO_ALARM, alarm is STATE_ALARM.
* For *int* or *float* type PV, the alarm state is configured by its *low*, *high*, *lolo*, *hihi* fields,
in analogue to EPICS database.
* `example/alarm_severity` provides an example.

0.3

Not secure
----------------
* Fixed gdd vector memory leak introduced in 0.2
* Added casPV's writeNotify method for EPICS base 3.14.11+
* Release GIL for each C function call
* Added tools.ServerThread running server process in separate thread
* Added preliminary Qt GUI integration example using tools.ServerThread

0.2

Not secure
----------------
* Added Python 3 support
* Added numpy data types support
* Fixed the driver registration issue.
* Rework gdd put/get methods
* Added gdd unittest cases
* Remove Makefile in favor of setup.py

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.