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

Implement ParameterTree for FR adapter #346

Open
GDYendell opened this issue Jun 10, 2024 · 9 comments
Open

Implement ParameterTree for FR adapter #346

GDYendell opened this issue Jun 10, 2024 · 9 comments
Assignees

Comments

@GDYendell
Copy link
Collaborator

No description provided.

@GDYendell GDYendell modified the milestone: fastcs-dev Aug 16, 2024
@GDYendell
Copy link
Collaborator Author

This should just work with the new generic OdinDataAdapter. Check this.

@GDYendell
Copy link
Collaborator Author

@jsouter did you do this while working on DiamondLightSource/fastcs-odin#33?

@jsouter
Copy link
Contributor

jsouter commented Sep 18, 2024

I changed the templated odin_server.cfg files to use OdinDataAdapter instead FrameReceiverAdapter, no changes were required to odin-data's fastcs-dev branch. There's a few places where frame_receiver_adapter.py is broken (I think I got it to run by just changing self._endpoints to self._controller._endpoints, but I didn't properly check if it's functional besides that). I figured frame_receiver_adapter.py would be deleted.

@GDYendell
Copy link
Collaborator Author

That is pretty much all I did for the meta writer so that may be all that is required.

@jsouter
Copy link
Contributor

jsouter commented Sep 20, 2024

Here is the diff of a branch I made that makes OdinDataController generic, and makes subclasses for FrameProcessorController and FrameReceiverController (which is actually an alias for the base OdinDataController), and FrameReceiver(/Processor)Adapter classes that use these controllers.

This would mean we could still use the existing odin_server.cfg's module paths without having to specify a frame_processor flag.
If we'd rather keep fastcs-dev as it is, I can make a PR to just delete frame_receiver_adapter.py as OdinDataAdapter makes it redundant.

fastcs-dev...jsouter:odin-data:controllers

@GDYendell
Copy link
Collaborator Author

I think I would like to see that diff as PR to fastcs-dev for discussion.

Do we understand why the fr check is commented out, currently? @ajgdls?

@jsouter
Copy link
Contributor

jsouter commented Oct 7, 2024

@ajgdls
Copy link
Contributor

ajgdls commented Oct 7, 2024

The check was never implemented during development of the new version of the Odin data classes. What is commented out there is a stub which needs an implementation to check on availability of buffers from the FR. I'm not sure if it can simply be an exact copy of the previous version, which is why it was not copied over.

@ajgdls
Copy link
Contributor

ajgdls commented Oct 7, 2024

Oh sorry, for some context... In the previous version of the frame processor adapter, the FP adapter would connect to and check the number of free buffers according to the FR adapter. It would test this against a defined threshold and refuse to send the command to start writing if the check failed.
The idea was to give prior warning if the system was being starved of buffers rather than allowing it to start and then potentially fail quickly.

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

No branches or pull requests

3 participants