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

PEARL Pressure Controller: Cell and Pump Pressure #6774

Closed
2 tasks done
JackEAllen opened this issue Sep 16, 2021 · 6 comments
Closed
2 tasks done

PEARL Pressure Controller: Cell and Pump Pressure #6774

JackEAllen opened this issue Sep 16, 2021 · 6 comments
Assignees
Labels

Comments

@JackEAllen
Copy link
Member

JackEAllen commented Sep 16, 2021

As a: developer

I would like to create the DB logic and fields in the OPI to display the cell and pump pressure values based on information documented as part of #6763 to carry functionality over from LabVIEW VI implementation.

Acceptance Criteria

  • Create DB logic for reading back pump pressure
  • Create appropriate fields in OPI device screen to display cell and pump pressure values

Extra Information

Why it is needed?

  • Functionality exists in LabView VI and should be replicated in IBEX GUI device screen for consistency.

Where required files/links are

  • Manual: \\isis\shares\ISIS_Experiment_Controls\Manuals\PEARL Pressure Controller\PEARL handbook_v3_5.docx
  • Labview Vi: C:\LabVIEW Modules\Instruments\PEARL\PEARL Pressure Cell Controller
  • Please see conversation in PEARL: IOC & OPI for Pressure Controller #6040 to view a screenshot of LabView VI for reference.
  • PEARL Pressure Controller Emulator: C:\Instrument\Apps\EPICS\support\PearlPressureController\master
  • PEARL Pressure Controller IOC: C:\Instrument\Apps\EPICS\ioc\master\PEARLPC
  • PEARL Pressure Controller OPI: C:\Instrument\Dev\ibex_gui\base\uk.ac.stfc.isis.ibex.opis\resources
@JackEAllen JackEAllen changed the title Pump Pressure PEARL Pressure Controller: Cell and Pump Pressure Sep 16, 2021
@KathrynBaker
Copy link
Member

Detail on the LabVIEW implementation (part of #6763):
Cell Pressure

  • Send the command vr0087
  • Discard the first 7 characters returned
  • The remainder are converted into a decimal value which is the cell pressure

Pump Pressure

  • Send the command vr0088
  • Discard the first 7 characters returned
  • The remainder are converted into a decimal value which is the pump pressure

@FreddieAkeroyd
Copy link
Member

FreddieAkeroyd commented May 8, 2022

There is now a get_memory in the EPICS stream protocol so this should be straightforward. See notes on end of #7114 for how to run the vi against the emulator for comparison.

@Adam-Szw
Copy link
Contributor

Adam-Szw commented May 11, 2022

There is more that needs to be done for this ticket:

  • Implement Start, Stop, Retract and send parameters buttons from VI
  • Cleanup commands from emulator and replace them with backdoor where applicable
  • Cleanup useless records and implement whats missing based on VI

@Adam-Szw
Copy link
Contributor

Adam-Szw commented May 20, 2022

Not everything was changed and/or implemented based on VI. I moved some of the requirements to other PearlPC tickets. Made sure to make commits very descriptive, so refer to that when reviewing. PRs:
pearlPC support: ISISComputingGroup/EPICS_PearlPressure#5
ibex GUI: ISISComputingGroup/ibex_gui#1416
release notes: #7158

@Adam-Szw
Copy link
Contributor

Adam-Szw commented May 20, 2022

How to review:

  • checkout correct branches and be sure to use 'make clean uninstall' and then 'make' on support/ioc directories
  • run the tests
  • open labview VI (see in ticket description) and compare if functionality aligns between the two
  • look on the commit notes to see what was supposed to be changed and see if it indeed works as intended. Manual will be very helpful here too
  • all the other standard review stuff such as code quality etc.

@FreddieAkeroyd
Copy link
Member

FreddieAkeroyd commented Jun 5, 2022

@Adam-Szw Looking good:

  • On VI increasing/decreasing pressure comes from device inputs, so logic in DB may not be needed
  • user limit might best be set by macro, but maybe leave that until setting other parameters also in labview .ini e.g. d+, o+,d-, o-

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

No branches or pull requests

5 participants