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

Resource reservation #343

Open
pollockm opened this issue Aug 18, 2017 · 3 comments
Open

Resource reservation #343

pollockm opened this issue Aug 18, 2017 · 3 comments

Comments

@pollockm
Copy link
Contributor

We've seen a few cases where modules need to know some information about what other modules are doing to prevent collisions.

Examples:
Motion control on an axis - need to make sure two instantiations are not trying to control the same axis
DAQmx devices - we should not let the same resource be used in multiple engines/module

I'd like a way for modules to register for 'named' resources using a common nomenclature, and to have facilities for keeping track of which resources are used by which modules.

If a module tries to reserve a resource used by something else, I'd like it to fail the editor validation check and report back the engine and module name of the conflicting resource(s).

@pollockm
Copy link
Contributor Author

One relatively simple scheme is to have a "resources" variant, use key-value pairs to store the GUID/name/whatever of the module that first reserved that resource.

Need to have modules add reservations on configuration or creation, and also remove reservations on module deletion or config change.

@Beazurt
Copy link
Contributor

Beazurt commented Aug 22, 2017

Tanner and I recently mocked up something similar for VeriStand, although it was specifically for FPGA resources to protect multiple custom devices that need to interact with the same bitfile. It would be interesting to see if we could use the same underlying LabVIEW API for both use-cases.

@DCAF-Builder
Copy link
Contributor

@Beazurt - Where might I find that implementation?

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

No branches or pull requests

3 participants