softioc
Advanced tools
+1
-1
| Metadata-Version: 2.1 | ||
| Name: softioc | ||
| Version: 4.1.0 | ||
| Version: 4.2.0 | ||
| Summary: Embed an EPICS IOC in a Python process | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/dls-controls/pythonSoftIOC |
+1
-1
| [build-system] | ||
| requires = ["setuptools", "wheel", "setuptools_dso>=2.1", "epicscorelibs>=7.0.6.99.1.0"] | ||
| requires = ["setuptools", "wheel", "setuptools_dso>=2.1", "epicscorelibs>=7.0.7.99.0.0"] | ||
| build-backend = "setuptools.build_meta:__legacy__" |
| Metadata-Version: 2.1 | ||
| Name: softioc | ||
| Version: 4.1.0 | ||
| Version: 4.2.0 | ||
| Summary: Embed an EPICS IOC in a Python process | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/dls-controls/pythonSoftIOC |
@@ -1,2 +0,2 @@ | ||
| epicscorelibs<7.0.6.99.3,>=7.0.6.99.2.0 | ||
| epicscorelibs<7.0.7.99.1,>=7.0.7.99.0.0 | ||
| numpy | ||
@@ -3,0 +3,0 @@ epicsdbbuilder>=1.4 |
@@ -11,4 +11,4 @@ # Compute a version number from a git repo or archive | ||
| # These will be filled in if git archive is run or by setup.py cmdclasses | ||
| GIT_REFS = 'tag: 4.1.0' | ||
| GIT_SHA1 = '77ec950' | ||
| GIT_REFS = 'tag: 4.2.0' | ||
| GIT_SHA1 = 'a2d4648' | ||
@@ -15,0 +15,0 @@ # Git describe gives us sha1, last version-like tag, and commits since then |
+25
-4
| import os | ||
| import numpy | ||
| from .device_core import RecordLookup | ||
| from .softioc import dbLoadDatabase | ||
@@ -27,2 +29,3 @@ | ||
| fields.setdefault('DISP', 1) | ||
| _set_alarm(fields) | ||
@@ -32,2 +35,10 @@ def _set_out_defaults(fields): | ||
| def _set_alarm(fields): | ||
| if 'status' in fields: | ||
| assert 'STAT' not in fields, 'Can\'t specify both status and STAT' | ||
| fields['STAT'] = _statStrings[fields.pop('status')] | ||
| if 'severity' in fields: | ||
| assert 'SEVR' not in fields, 'Can\'t specify both severity and SEVR' | ||
| fields['SEVR'] = _severityStrings[fields.pop('severity')] | ||
| # For longout and ao we want DRV{L,H} to match {L,H}OPR by default | ||
@@ -81,2 +92,7 @@ def _set_scalar_out_defaults(fields, DRVL, DRVH): | ||
| _statStrings = [ | ||
| 'NO_ALARM', 'READ', 'WRITE', 'HIHI', 'HIGH', 'LOLO', 'LOW', 'STATE', 'COS', | ||
| 'COMM', 'TIMEOUT', 'HWLIMIT', 'CALC', 'SCAN', 'LINK', 'SOFT', 'BAD_SUB', | ||
| 'UDF', 'DISABLE', 'SIMM', 'READ_ACCESS', 'WRITE_ACCESS'] | ||
| # Converts a list of (option [,severity]) values or tuples into field settings | ||
@@ -264,5 +280,2 @@ # suitable for mbbi and mbbo records. | ||
| _DatabaseWritten = False | ||
| def LoadDatabase(): | ||
@@ -282,2 +295,10 @@ '''This should be called after all the builder records have been created, | ||
| def ClearRecords(): | ||
| """Delete all created record information, allowing new record creation""" | ||
| assert not pythonSoftIoc.RecordWrapper.is_builder_reset(), \ | ||
| 'Record database has already been loaded' | ||
| RecordLookup._RecordDirectory.clear() | ||
| ResetRecords() | ||
| # ---------------------------------------------------------------------------- | ||
@@ -310,3 +331,3 @@ # Record name configuration. A device name prefix must be specified. | ||
| # Other builder support functions | ||
| 'LoadDatabase', | ||
| 'LoadDatabase', 'ClearRecords', | ||
| 'SetDeviceName', 'UnsetDevice', | ||
@@ -313,0 +334,0 @@ # Device support functions |
@@ -20,3 +20,3 @@ '''Device support files for pythonSoftIoc Python EPICS device support. | ||
| def __init__(self, builder, device, name, **fields): | ||
| assert not self.__builder_reset, \ | ||
| assert not self.is_builder_reset(), \ | ||
| 'It\'s too late to create records' | ||
@@ -51,3 +51,9 @@ # List of keyword arguments expected by the device constructor. The | ||
| @classmethod | ||
| def is_builder_reset(cls): | ||
| '''Returns True if it is too late to create records''' | ||
| return cls.__builder_reset | ||
| # Most attributes delegate directly to the builder instance until the | ||
@@ -54,0 +60,0 @@ # database has been written. At this point the builder instance has been |
@@ -7,4 +7,2 @@ import os | ||
| from epicsdbbuilder.recordset import recordset | ||
| from . import imports, device | ||
@@ -11,0 +9,0 @@ from . import cothread_dispatcher |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
266477
0.39%1686
1.26%