ISISComputingGroup / ISISComputingGroup/IBEX

Reflectometry: Adapt Bench Component for INTER vacuum tank

Open
#7,648 3 comments 0 reactions 2 assignees Claimed by @rerpha View on GitHub
5 Pair Program
Dominant language
No language data
Stars
6
Forks
2
Avg merge
16h 40m
Merged PRs (30d)
2

Description

As an INTER scientist, I would like to control my upgraded INTER secondary flight path. This tank will move on an arc around the sample similarly to POLREF's bench, however the current code for the bench translates the high level height and angle parameters into positions for front jack, back jack and slide rather than the height, angle and slide axes present on INTER's tank. We should modify the reflectometry server code to work for INTER's tank.

Since INTER's height and angle axes match what is described by the reflectometry parameters, translating between the two done by the reflectometry server should be a lot simpler than tin he existing code. I expect this is a matter of re-arranging the class architecture of the bench component to make it more generic and allow for different setups, simplifying the calculations for height and angle while retaining the slide calculation we use for the bench.

### Acceptance Criteria
- [ ] It is possible to define a type of component in a reflectometry configuration that moves on an arc using physical height, angle and slide axes
- [ ] Backwards compatible with POLREF / OFFSPEC's configuration files which use `BenchComponent` (or include IBEX config upgrade step)
- [ ] Use a sensible class architecture which means we do not duplicate existing code for arc components (e.g. slide calculation)

### Extra Information
This ensures we can control the INTER vacuum tank using a solution where we treat the Beckhoff exclusively as providing dumb axes that are coordinated by the IBEX reflectometry server.

## How to Test
_verbose instructions for reviewer to test changes
(**Add before making a PR**)_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.