DiamondLightSource / DiamondLightSource/tickit-devices
PMAC: Correct responses to basic axis commands
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Part of #2
Some PMAC axis commands can be sent in multiple ways with different responses expected. The PMAC simulation will need to be able to handle them correctly in both ways.
For example, consider the command to set the current axis to `2` and read the current position. This can be sent as either two separate 'words', `#2 P`, or as a single word, `#2P`. Both will have the same effect on the PMAC, but the number of responses from the PMAC should be the same as the number of words in. Hence, we must parse the one word case such that it is interpreted as the two word case, but later combine the results of these into a single reply.
This will require https://github.com/dls-controls/tickit/pull/82 to implement the correct message-splitting behavior within the device's message interpreter.
## Acceptance Criteria
* PMAC simulator responds with the following:
* `#1` `P` -> `\r3\r\n`
* `#1P` -> `3\r\n`
* Where `P` is running the same command in each case
Contributor guide
Assessment
This issue has not been assessed yet.