-
Notifications
You must be signed in to change notification settings - Fork 96
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 a "PVFactory" that supports Tango's protocol #2426
Conversation
Well, looks like you didn't have to add too much code, and you navigated the VType handling without too many problems, that's great! You add a dependency to the tango network library in the In short, please also add the tango network library dependency to the file As for PV names, you introduce Names like these would be a little shorter and valid URIs: |
The build fails with
Not sure if that's temporary or if the tango lib is not published. |
looks like this should be available on maven central... the only thing is that this is listed as a pom...
|
@kasemir I have modified the code according to your comments. The command and attribute implement the PVFactory interface respectively, their prefixes are "tgc" and "tga". Thanks. |
While I'm not using Tango and can't say what those who do will prefer, the shorter PV names are likely better. |
Funny. 9.7.0 from May 2022, 10.0.0 from Oct. 2017. |
That is confusing... Including the pom... which then includes the dependencies to the 3 required bundle should work fine. |
Just one thought... |
@shroffk |
@endless03 I also feel that the |
@shroffk |
In principle, we could split core-pv-ca, core-pv-pva, core-pv-sim, core-pv-mqtt, core-pv-tango, ... out of core-pv. That way, you can build a product that talks to sim, ca, pva, mqtt, tango, .. PVs. Why would you want to do that? The product would be a little smaller, in case that matters. So far, the different protocols are not in conflict, and you can configure one of them as the default. But if we ever run into issues where one protocol uses the same TCP ports as the other, we would have to include one or the other, not both. |
.. but we can do the split later. |
JTango 9.7.0 can compile and work normally in Phoebus. |
Alright, merged! One example for the modular nature of a product: When used with Tango, you want to remove the "PV Tree" from the product. For a PV "X", it expects to also be able to connect to a PV "X.RTYP" to determine the record type, and then based on that it fetches other links. That makes sense for EPICS records, but not Tango devices, so a pure Tango user would simply have no use for it, and it's best removed from the product by simlpy deleting the |
Ok, thanks. |
The PVFactory interface is implemented to support Tango, and complete the read/write test of Tango and VType compatible types(Currently, only scalar is supported). Now, Phoebus can be used as the monitoring and operation interface of Tango.