Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchrotron: Add linking device logic #22

Closed
abbiemery opened this issue Sep 23, 2022 · 6 comments
Closed

Synchrotron: Add linking device logic #22

abbiemery opened this issue Sep 23, 2022 · 6 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@abbiemery
Copy link
Collaborator

As stated in the README, the Synchrotron device is just a collection of unconnected simualted iocs. The topup, currrent, countdowns etc all have behavior that can be simulated and linked with the inputs & output busses.

@abbiemery
Copy link
Collaborator Author

abbiemery commented Sep 26, 2022

As stated in issue #3 , the goal was a minimum working device. It would be ideal to now have the device behave slighlty more naturally and implement the topup gating behaviour of the records

Required:

  • Include internal logic to link the top-up timers and the current (See high level apps confluence for Top UP gating).

@DominicOram
Copy link
Contributor

For testing Artemis it would be useful to have a backdoor for this (DiamondLightSource/tickit#83 is the best way to do this but in the meantime we can just have a PV that we can write to from ophyd)

@abbiemery abbiemery removed their assignment Sep 26, 2022
@abbiemery
Copy link
Collaborator Author

abbiemery commented Sep 26, 2022

That is the easiest way for now, having a writable PV is a one line addition in the epics adapter.

(See the femto device in the tickit repo for PV's that are caput able.)

@abbiemery
Copy link
Collaborator Author

Something else that would be nice for this ticket : Changing the PV names to all be prefixed with S03-SIM (or something similar) instead of BL03S, since BL03S is a beamline prefix and the synchrotron is beamline agnostic.

@JimboMonkey
Copy link

I think the machine PVs within 'synchrotron' should stay as close to the 'real' PVs as possible, but with some kind of designation of simulation in there. eg SR-CS-FILL-01:ENDCOUNTDN could become SR-SIM-FILL-01:ENDCOUNTDN, and CS-CS-MSTAT-01:MODE could become CS-SIM-MSTAT-01:MODE

evalott100 added a commit that referenced this issue Sep 30, 2022
Simulated the current loss and current gain of the synchrotron storage ring. The current loss and gain increment are calculated so they will take 10 minutes and 15 seconds respectively. The countdown is also simulated: based on the change of the current (this will only really work as a method if the rate of change is constant). Also wrote tests.
evalott100 added a commit that referenced this issue Oct 3, 2022
evalott100 added a commit that referenced this issue Dec 19, 2022
Simulated the synchrotron topup PVs and had them "link" #22
@abbiemery
Copy link
Collaborator Author

@evalott100 is this finished? Please may you check over it and close it if so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants