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

ENH: Rpc support #1052

Merged
merged 37 commits into from
May 23, 2024
Merged

ENH: Rpc support #1052

merged 37 commits into from
May 23, 2024

Conversation

nstelter-slac
Copy link
Collaborator

@nstelter-slac nstelter-slac commented Nov 28, 2023

Add support for RPC using p4p extension (https://mdavidsaver.github.io/p4p/rpc.html).

More context here: #1035

Could expand to have RPC address editor in designer

@nstelter-slac
Copy link
Collaborator Author

@YektaY YektaY marked this pull request as ready for review December 6, 2023 21:28
@nstelter-slac nstelter-slac linked an issue Dec 6, 2023 that may be closed by this pull request
@YektaY YektaY changed the title Rpc support ENH: Rpc support Apr 30, 2024
Tests for checking if RPC request and for constructing p4p Value obj.

Also now don't parse for RPC unless know its a valid request,
and now able to emit discon signal when polling.
And have the thread be killed if the pydm window closes.
Also now correctly have pollrate value as float.
Fixes issue where screen with many RPC widgets will stall
when loading if can't connect to addresses (such as when  not connected
to the network).
Since should work with any widget that expects back a value to display
(also works with byte-indicator widget)
@nstelter-slac
Copy link
Collaborator Author

nstelter-slac commented May 9, 2024

to test real PV,
have setup the prod-on-dev env, then:

cd examples/rpc
pydm rpc_labels.ui
->open in designer and modify one of the labels to have address:
pva://KLYS:LI12:11:ATTN_CUR&

can also try it with polling:
pva://KLYS:LI12:11:ATTN_CUR&pydm_pollrate=3.0

Copy link
Collaborator

@jbellister-slac jbellister-slac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, thanks! Examples well-explained and work fine, connecting to live data works fine, tests look good.

Copy link
Collaborator

@YektaY YektaY left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good and worked for me

pydm/data_plugins/epics_plugins/p4p_plugin_component.py Outdated Show resolved Hide resolved
@jbellister-slac jbellister-slac merged commit 9166585 into slaclab:master May 23, 2024
19 checks passed
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

Successfully merging this pull request may close these issues.

Add RPC Support
3 participants