-
Notifications
You must be signed in to change notification settings - Fork 0
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
Ticket2813 riken changeover logic #218
Conversation
@@ -0,0 +1,55 @@ | |||
# RELEASE - Location of external support modules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you avoid the use of MASTER_RELEASE as per ISISComputingGroup/IBEX#2320. See https://github.com/ISISComputingGroup/EPICS-ioc/blob/master/ISISDAE/configure/RELEASE for an example. Add this IOC to the ticket when done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done.
|
||
dbLoadRecords("$(TOP)/db/riken_changeover.db","PV_PREFIX=$(MYPVPREFIX),P=$(MYPVPREFIX)$(IOCNAME):,OK_TO_RUN_PSUS=$(PC_OK_TO_RUN_PSUS),PSU_DISABLE=$(PC_PSU_DISABLE),PSU_POWER=$(PC_PSU_POWER)") | ||
dbLoadRecords("$(TOP)/db/riken_port_changeover_psus.db","PV_PREFIX=$(MYPVPREFIX),P=$(MYPVPREFIX)$(IOCNAME):,OK_TO_RUN_PSUS=$(PC_OK_TO_RUN_PSUS),PSU_DISABLE=$(PC_PSU_DISABLE),PSU_POWER=$(PC_PSU_POWER)") | ||
dbLoadRecords("$(TOP)/db/riken_changeover_groups.db","PV_PREFIX=$(MYPVPREFIX),P=$(MYPVPREFIX)$(IOCNAME):,OK_TO_RUN_PSUS=$(PC_OK_TO_RUN_PSUS),PSU_DISABLE=$(PC_PSU_DISABLE),PSU_POWER=$(PC_PSU_POWER)") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For readability, only pass the macros which are actually required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In which case do we need to set them as EPICS env variables at all or can we just pass them straight to the seq in the st.cmd?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason you can't pass them straight to seq in the individual st.cmds is that starting a sequence program before iocInit
is called is a bad idea (undefined behaviour?)
Seems to work as described, some small issues:
|
Review comments addressed. Documentation added. |
Description of work
Adds a coordinator IOC.
This IOC is intended to be reusable in different configurations but initially is being used for two (very similar) tasks:
To test
ISISComputingGroup/IBEX#2813
Acceptance criteria
Changeovers are started when input PV is changed (currently pointing at SIMPLE)
Waits for relevant power supplies to be OFF
Sets DISP field on power setpoints
Allows changeover (currently pointing at SIMPLE)
Waits for changeover to be complete
Re-enables DISP on power PVs
Process can be safely interrupted at any point in the above process.
Code Review
Functional Tests
..._0n
wheren>1
) run correctlymacLib: macro
to find instances ofmacLib: macro [macro name] is undefined...
Final steps