DiamondLightSource / fastcs-eiger

Prototype Eiger Control System Integration with FastCS
https://github.com/DiamondLightSource/FastCS
Apache License 2.0
1 stars 0 forks source link

Use enums where appropriate #43

Open DominicOram opened 1 month ago

DominicOram commented 1 month ago

From a client perspective it is nice when there are only a select number of values that a PV could have to be able to use an enum i.e. a bo/mbbo. Examples so far:

Acceptance Criteria

GDYendell commented 6 hours ago

I have this working for enums with <= 16 fields, but for more than that it is more complicated. After some trial and error and discussions, we are going to create a PVA-only backend for FastCS and migrate to that. This will give us things that CA doesn't support without hackery via qsrv info tags. This will be a longer term project.

For the meantime, Elements will just be a string. If it would be useful, I can add an Elements:Choices CA PV with the allowed values that ophyd could read. But it will not be packaged in a nice V4 structure like it will be eventually.