DiamondLightSource / DiamondLightSource/fastcs

Allow a single FastCS server to have multiple top level Controllers with different prefixes

Open
#120 17 comments 1 reaction 1 assignee Claimed by @gilesknap View on GitHub
Dominant language
Python
Stars
6
Forks
8
Avg merge
2d 12h
Merged PRs (30d)
3

Description

For PandA the heirarchy of Controllers fits with FastCS:
- Top level Controller with PandABlocks-client connection, with PV prefix e.g. "BLxxI-EA-PANDA-01"
- It creates SubControllers for each Block within it, appending suffix e.g. "PULSE1"
- It has Attributes within it for each Field in the Block, appending the suffix e.g. "WIDTH"

For CATio we would like a different heirarchy
- Top level Controller with ADS connection, for status monitor and bus capture, with PV prefix e.g. "BLxxI-EA-ECAT-01"
- Peer Controllers for each coupler, e.g. "BLxxI-EA-ERIO-01"
- SubControllers for each module attached to it, e.g. "ADC1"
- Attributes for each parameter and channel of the module, e.g. "CHAN1"

We would need this if we ever did a PMAC in FastCS:
- Top level Controller with SSH connection, e.g. "BLxxI-MO-PMAC-01"
- SubController per CS, e.g. "CS2"
- Peer Controllers for each axis, e.g. "BLxxI-MO-DCM-01:ROLL"
- Attributes for it's parameters, e.g. "SETPOINT"

We need this top level PV heirarchy to be stable through axis moves so that we keep archiving and GUI build consistent.

## Acceptance Criteria
- We can make multiple Controllers with completely different PV prefixes

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.