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

HIFI: Group 3 Hall Probe #8400

Closed
5 tasks
KathrynBaker opened this issue Jun 21, 2024 · 1 comment
Closed
5 tasks

HIFI: Group 3 Hall Probe #8400

KathrynBaker opened this issue Jun 21, 2024 · 1 comment
Assignees
Labels

Comments

@KathrynBaker
Copy link
Member

KathrynBaker commented Jun 21, 2024

As a user of HIFI I want to be able to read the values from the Group 3 Hall Probe to use with regards to the zerofield on HIFI.

Acceptance Criteria

What is the acceptance criteria?

  • The frequency of readings needed is confirmed with the instrument scientists
  • The UI design is confirmed with the instrument scientists
  • IOC for Group 3 Hall Probe created
  • OPI for Group 3 Hall Probe created
  • Appropriate emulators and tests are created

Extra Information

  • This is a spin off ticket from HIFI: IOC and OPI for Group 3 Hall Probe #6088 and there is more detail in there of background
  • The manual can be found at: https://wiki.jlab.org/ciswiki/images/6/62/G3_MAN_DTM-151-S.pdf
  • There is no specific VI for this device, so the OPI needs to start from "scratch", a suggested layout would be:
    image
  • The system will need a macro for the number of probes
  • This is currently considered one device, with 2 COM ports, and 3 probes at each port
  • Each probe needs a name, Address, and axis definition (axis is +/- X|Y|Z)
  • On startup for each probe send A%d SE0GDR3GCNNUFG where %d is the address, this initialises the probes in the expected way, including set the range to the highest index
  • Send A%d F at the rate agreed in the acceptance criteria, to each probe using %d for the probe address, and multiply the returned value by 1 or -1 based on the direction of the probe (e.g. X is +1, -X is -1)
  • If F returns OVER RANGE, increase the range if possible, this may be most clearly dealt with in SNL or a script record as there are other range changes to consider too.
  • If the absolute value of the field reading is less than the corresponding move down point (-1, 2500, 5000, 1000, these are all roughly 83% of the previous range level, ranges are 3000, 6000, 12000, 30000):
    • Change the range value down a level
  • Otherwise:
    • If the absolute value is more than the corresponding move down point (2900, 5800, 11600, 999999, which are all roughly 97% of the current range value):
      • Change the range up a level
    • Otherwise
      • Do nothing
  • The range is altered using A%d R%d replacing the %ds with the address of the probe and the range index to use.
  • Send A%d T to get the temperatures for each probe where %d is the probe address

How to Test

verbose instructions for reviewer to test changes
(Add before making a PR)

planning 92:00 2024/10/31

Tom-Willemsen added a commit that referenced this issue Nov 13, 2024
@ISISBuilder ISISBuilder moved this from Review to In Progress in PI_2024_08 Nov 20, 2024
@ISISBuilder ISISBuilder moved this from In Progress to Backlog in PI_2024_08 Nov 20, 2024
@LilithCole LilithCole moved this from Backlog to Review in PI_2024_08 Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

5 participants