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

PMAC: Start up dls-pmac-control.py #18

Open
MattPrit opened this issue Aug 30, 2022 · 0 comments · May be fixed by #20
Open

PMAC: Start up dls-pmac-control.py #18

MattPrit opened this issue Aug 30, 2022 · 0 comments · May be fixed by #20
Labels
pmac Tickets required for simulated PMAC

Comments

@MattPrit
Copy link
Collaborator

MattPrit commented Aug 30, 2022

Similarly to #9 , it would be nice if we could make our PMAC device look like a real PMAC to dls-pmac-control.py. As far as the PMAC is concerned, this should only require more dummy responses to certain commands used during startup and polling. However, since dls-pmac-control sends a PMAC commands as a single blob, e.g #1PVF#2PVF rather than #1P V F #2 P V F, a more complex tickit adapter will be required, DiamondLightSource/tickit#82 will no longer suffice. We will still want the device to work with EPICS, so commands must work with and without the whitespace present in EPICS messages.

In completing this, axis commands should be properly implemented, so solving this issue should also solve #10 .

abbiemery pushed a commit that referenced this issue Jun 15, 2023
* Added aiohttp to required runtime packages

* Created basic HTTP Server

* Made HTTP server work with custom asyncio implementation, and added a test example eiger simulation .yaml and .py to run it

* Moved route defining out of HTTPServer into HTTPAdapter; Required the creation of HTTPAdapter intead of ComposedAdapter, and HTTPEndpoint decorator

* Added docstrings to all methods (although the ones for HTTP endpoints are unfinished as the endpoints have not been completed yet)

* Renamed http.py to http_server.py so it doesn't conflict with the http stdlib module when pytest-ing

* Resolved some issues

* Fixed importing http_server after renaming

* Interim commit

* Update examples/devices/eiger.py

Co-authored-by: Callum Forrester <[email protected]>

* Update tickit/adapters/interpreters/endpoints/http_endpoint.py

Co-authored-by: Callum Forrester <[email protected]>

* Restricted the args for __call__() and define() in HTTPEndpoint

* Renamed all the Eiger specific classes and files to be a more generic HTTP device

* Interim commit

* Add utility method for creating a get endpoint

* Created classmethods for HTTPEndpoint that define the request method for the HTTPEndpoints; Added docstring to update() method to stop pydocstring complaining

* Resolved issue

* Added tests for HTTPEndpoint

* Added tests for HTTPAdapter

Co-authored-by: Callum Forrester <[email protected]>
Co-authored-by: Callum Forrester <[email protected]>
@abbiemery abbiemery added the pmac Tickets required for simulated PMAC label Jun 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pmac Tickets required for simulated PMAC
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants