-
Notifications
You must be signed in to change notification settings - Fork 1
Ticket8614 mercury ips magnet supply #936
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
Open
iangillingham-stfc
wants to merge
33
commits into
master
Choose a base branch
from
Ticket8614_mercury_IPS_magnet_supply
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
….com/ISISComputingGroup/EPICS-ioc into Ticket8614_mercury_IPS_magnet_supply
… ips_scpi.db (take 2)
…eft in place as comment in case needed again at a future date
…ensor reading rates.
…cludes aSub refs from supp.
…he discrete system alarm records.
…alarm messages were being truncated by stringin type.
…SWEEPMODE:SP PV does not exist. It was clearer to implement a separate state machine than to have lots of complex conditionals in one file
…IPS_magnet_supply
3 tasks
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.
- Should: There's a few places where we have inline commentary talking about differences between SCPI & legacy mode. I think this commentary is better placed on the dev wiki, where it has more chance of being found, and then deleted from the DBs.
- Should: In general we don't need names/dates of changes in the DB - we have git for tracking that.
…be determined from SCPI
…-instruments-Mercury-IPS.md)
…rs not being present - they are.
…th legacy and SCPI
…common.db. Utilised alarms template file to also create system status records. Removed SCPI statemachine and using a single one, now that the SCPI db creates a dummy SWEEPMODE:PARAMS:SP record.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of work
The IPS IOC now supports the SCPI protocol, which is more feature rich than Legacy mode.
Effort was made to ensure that the top level EPICS interface was was changed as little as possible.
It was particularly important that the SNL state-machine logic was not altered.
This all required some careful designing of the new interface to provide PV compatibility with the legacy mode.
There is now significantly more diagnostic information available, along with support for daughter-boards, such as He and N level meters, pressure measurement, etc., all of which have necessitated additions to the user interface in the IBEX client.
The IOC can be configured to run with either legacy or SCPI protocols via a STREAMPROTOCOL macro ("SCPI" | "LEGACY"). The IOC publishes a new PV $(P)PROTOCOL, which reflects the configuration mode, allowing the user interface to hide or show attributes and controls relevant to SCPI or LEGACY modes.
Associated PRs are prepared for:
IPS support module (EPICS-IPS: (ISISComputingGroup/EPICS-IPS#9))
IBEX GUI (ibex_gui: ISISComputingGroup/ibex_gui#1809)
IOC Test Framework - moved ips to support module (IocTestFramework: ISISComputingGroup/EPICS-IOC_Test_Framework#661)
Ibex Developer's Manual (ibex_developers_manual: ISISComputingGroup/ibex_developers_manual#84)
Release notes (IBEX: ISISComputingGroup/IBEX#8831)
To test
#8641
Acceptance criteria
Code Review
Functional Tests
Alex Jones from Magnet Group has reviewed the changes using a real device. After a couple of mods and re-testing, he was happy and passed the real-life testing.
IOC Test Framework: The lewis emulator for this device has been significantly modified to support both SCPI and LEGACY modes.
in C:\Instrument\Apps\EPICS\support\IPS\master\system_tests, run bit SCPI and legacy mode tests:
run_tests.bat -t ips_scpi
run_tests.bat -t ips
..._0n
wheren>1
) run correctlymacLib: macro
to find instances ofmacLib: macro [macro name] is undefined...
Final steps