DiamondLightSource / pythonSoftIOC

Embed an EPICS IOC in a Python process
Apache License 2.0
31 stars 9 forks source link

Support new EPICS 7 records #118

Closed AlexanderWells-diamond closed 3 months ago

AlexanderWells-diamond commented 1 year ago

As PythonSoftIOC already has support for EPICS 7, through epicscorelibs, it seems sensible to add support for the new record types available.

The full list is available here: https://epics.anl.gov/base/R7-0/7-docs/RecordReference.html The most useful ones on first glance appear to be:

There are many other record types available (as well as many from previous EPICS versions that we never supported), so some investigation is required to confirm the exact list of useful records to add.

Araneidae commented 4 months ago

Regarding other record types, I'd suggest only providing driver support for record types which map directly to a primitive type. I suspect this only includes int64 and long strings.

Araneidae commented 4 months ago

Looking at lsi and lso I'm disappointed to see two points not properly covered:

If we do support lsi/lso I suggest calling them lsIn, lsOut and make them behave just like stringIn/stringOut.

AlexanderWells-diamond commented 3 months ago

After some discussion it was decided we should only implement int64in/out, as the lsi and lso records offer no advantages ontop of our already existing longStringIn/Out record types. Other new record types do not directly map to Python types.