Should the instrument suffix be included in the Driver Identifier? #129
Replies: 3 comments 2 replies
-
|
In addition to the question about specifying the instrument version in the instrument model field, there is also the need for the driver vendor to also incorporate characters to differentiate two different actively supported drivers. Of course in Python, the names can be imported using 'import as...', but it seems to me we may want to have the ability to identify differing packages. The draft ANSI-C specification specifies the "model" part of the instrument identifier as:
The current version of the Python spec has:
The ANSI-C spec observes and resolves the need for a single driver vendor to have two drivers in the field that are both actively supported and the vendor does not want the names to conflict. |
Beta Was this translation helpful? Give feedback.
-
|
Finally, I suspect the genesis of the rule regarding eliding the instrument version, was that the authors wanted to ensure that the characters that identified the instrument model (or family, or other group) would be syntactically distinct from the <optional> driver vendor. I am guessing that they incorrectly assumed that the instrument model would always end in trailing digits, so that any trailing alphabetics would be the driver vendor. In the current world, I think there are probably several drivers that support families and instruments that are identified with alphabetics (for instrument "Infiniium"). So for the DriverIdentifier of KTInfiniium we can't tell if it is:
If this is the problem we are trying to solve, we could:
I think the first choice is probably best. The optional underscore is unfortunate, but probably the right compromise. |
Beta Was this translation helpful? Give feedback.
-
|
PR134 #134 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
We have a historical, informal, agreement within IVI that the Driver Identifier should omit the instrument suffix. We have agreed that we would like to formalize this agreement in the new ANSI-C and Python specifications.
However, there is some question exactly what we do with this, and perhaps what it means. The problem is:
I suspect the original authors of the 'informal agreement' were under the impression that:
I don't think the IVI specs can safely assume either of these. For instance, some Keysight have letters that indicate major groups of models within a trade-name ("V-series" or "EXR series"). I don't know details. NI DAQ has designations like (cRIO-904X Sync). Where is the suffix in that?
I don't want to represent that, in fact, all of these have distinct drivers, but IVI must not assume that none of them do. It is also presumptuous for IVI to dictate how a vendor would want to name a driver to support these groupings of instruments (I believe there are words in the spec to give pretty broad permission to driver authors).
I guess we could refine the agreement to be that "suffix" means "trailing letters that indicate models that will not have differing software models" -- probably the original intent. But that will still leave us with ugly compositions.
Conclusion: I don't see any practical approach for IVI to legitimately limit how a driver vendor may choose alpha-numeric designations for their drivers (beyond requiring a leading alpha).
If this means we need to re-introduce an optional separator between the model/family and the driver vendor, that is OK. We should definitely plan on pure alpha instrument model/family names.
Beta Was this translation helpful? Give feedback.
All reactions