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

Reflectometry: Disable mode save #3897

Closed
John-Holt-Tessella opened this issue Dec 18, 2018 · 5 comments
Closed

Reflectometry: Disable mode save #3897

John-Holt-Tessella opened this issue Dec 18, 2018 · 5 comments

Comments

@John-Holt-Tessella
Copy link
Contributor

John-Holt-Tessella commented Dec 18, 2018

As an instrument scientist if I restart my reflectometry server I want it to recover to disable mode if that was the mode I was in, including the incoming beam positions.

Acceptance Tests

  1. On enter disable mode all component incoming beam are saved to disk in autosave area
  2. On restart if in disable mode and file exists it is loaded
    1. All components are disabled
  3. On restart if in disable mode but no file exists
    1. error
    2. all beam paths set to incoming beam path
  4. Test values by:
    1. setting super mirror and theta angles in Polarised NR mode
    2. change to disable mode
    3. move super mirror, theta and one offset
    4. record motor positions
    5. Restart IOC
    6. Move back to position given
    7. motors should be at same place
@aaron-long
Copy link
Member

aaron-long commented Jan 17, 2020

  • Can you please clarify more explicitly the test steps. Specifically what you mean by "Move back to position given".

We should wait for feedback on what the exact desired behaviour is for theta in disabled mode.

@ThomasLohnert
Copy link
Contributor

ThomasLohnert commented Mar 10, 2020

Sorry, something is wrong when exiting disabled mode after making changes - I think the beam path needs to be re-evaluated at this point.

Steps to reproduce (assuming SURF-like config):

  1. Set beamline positions to 0
  2. Enter PNR mode
  3. Move sm_angle to 1
  4. Enter Disabled mode
  5. Move sm_angle to 0
  6. Go back to PNR mode
    • What I would expect: Motors stay where they are, parameter readback values of components further along the beam update to show they are offset from the beam (equivalent to 1 deg)
    • What happens: Motors stay where they are, parameter readback values continue to show 0. They can be forced to update to the correct value by triggering a monitor update (e.g. move any motor axis used by the reflectometry IOC)

@ThomasLohnert
Copy link
Contributor

The unittest test_GIVEN_beam_line_with_disable_autosave_position_WHEN_init_THEN_incoming_beams_set_correctly_on_start is now failing.

The failure message is a bit cryptic (TypeError: coercing to Unicode: need string or buffer, PositionAndAngle found) but I think it is just because the actual PositionAndAngle from the result is different from the expected (y=0, z=0, angle=0) when it should be (0, 1, 0). Could you please fix it ?

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

No branches or pull requests

6 participants