pythonSoftIOC
pythonSoftIOC copied to clipboard
Embed an EPICS IOC in a Python process
Instead of using motor record, demonstrate a record-level alternative (e.g. PREFIX:VELO instead of PREFIX.VELO) with the same behaviour. Make this same record-level interface in asyn model 3 drivers like pmac,...
Add an example pythonSoftIOC talking to a TCP device with a protocol would be complicated to implement in streamDevice (like 1 byte giving frame length, bytes data, 2 byte CRC)....
pythonSoftIOC provides no protections against overflowing data type limits. The most obvious example of this is longIn/Out, due to the unbounded size of Python3's `int` type. No warning or error...
There's currently no documentation that says what is (and is not) inherited from EpicsDBBuilder and so what is valid to call on a `RecordWrapper` instance. This should be improved.
Currently a record, inside a `RecordWrapper`, can have aliases added to it by calling `add_alias()`. However this is a bit awkward as you have to provide not just the alias'd...
Currently there's no way for a user to know what EPICS record attributes are accessible on a `RecordWrapper` without just trying to get the attribute - and only a small...
It would be convenient to have some method on a `RecordWrapper` that allows retrieving the record's type. For example, a `get_type()` record might return a string `ao`, to say that...
in an non-interactive IOC, we wait for a SIGINT or SIGTERM to finish. For the asyncio dispatcher, this means we stop the asyncio event loop. It may, however, happen, that...