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

Add introspection of commands in odin data applications #41

Open
2 tasks
GDYendell opened this issue Oct 10, 2024 · 2 comments
Open
2 tasks

Add introspection of commands in odin data applications #41

GDYendell opened this issue Oct 10, 2024 · 2 comments
Assignees

Comments

@GDYendell
Copy link
Contributor

GDYendell commented Oct 10, 2024

Commands are now supported via odin-detector/odin-data#359, so fastcs-odin should introspect these and create Attributes.

I think we want new type of summary attribute that would allow us to create an AttrRW() that when set pokes other attributes to send the commands, and reads from an AttrR for its current state. In this case when set to 1 it would poke "start_writing", when set to 0 it would poke "stop_writing" and update its readback from "writing". This could possibly be a separate issue if it proves complicated and this one can just be for creating the PVs for individual commands.

@ajgdls
Copy link
Contributor

ajgdls commented Dec 6, 2024

You have mentioned a new type of summary attribute. Just to clarify exactly what you are thinking. This would be something like a CommandSet, which would take:

  1. A container of ConfigFanSender attributes, enumerated so that poking a specific value sends the "command" to that particular ConfigFanSender (or you think you need a new CommandFanSender?)
  2. A single SummaryAttribute which is used to obtain the current return value for this new CommandSet ?

This would be generic enough so that you could for example have ["Start", "Stop"] and this reads back the writing state (0,1). Or you could have ["cmd1", "cmd2", "cmd3"...] and this would read back some state attribute relaying the current state if that was ever required.

Have I understood correctly what you are thinking?

@GDYendell
Copy link
Contributor Author

GDYendell commented Dec 6, 2024

Once we have commands being introspected, there should be a new CommandFanSender to create a top-level start and a top-level stop. There is already a top-level writing for the readback.

Then we need a CommandSummarySender (with a better name) that combines these three things, pokes start when set to 1, pokes stop when set to 0, and uses writing for the readback. This can be attached to an AttrRW(Bool()), which should be turned into two buttons and an led by pvi.

Possibly this will require some FastCS or pvi changes to achieve.

@GDYendell GDYendell moved this from In Progress to Needs Review in FastCS Development Dec 13, 2024
@GDYendell GDYendell moved this from Needs Review to In Progress in FastCS Development Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants