sensics / OSVR-RenderManager

Apache License 2.0
63 stars 45 forks source link

Factor out vendors #195

Closed rpavlik closed 7 years ago

rpavlik commented 7 years ago

This is a refactoring that pulls the association of PNPID with device descriptor vendor name and a "human readable" string (like "most OSVR HDK devices") out of a massive if-else in RenderManagerBase (and in part, the enable/disable direct mode tools) and into a data structure (static, in a header, so the direct mode enable/disable still won't need to link against rendermanager to use it).

This is the first part of the de-duplication of this data - pull requests on the submodules will come as well, so this new header will be the single source of truth for hard-coded PNPIDs.

This also contains support for "testing" or otherwise custom PNPIDs - if a vendor name is not found in the list, but take the form of 3 characters in [A-Z], it will be added as a candidate pnpid, allowing testing without needing to recompile rendermanager.

This pull request still needs testing.

russell-taylor commented 7 years ago

Let me know when you've tested it or if you want me to test it with nVidia (I sent back the AMD card).

russell-taylor commented 7 years ago

Works with a DK2 on my laptop. It looks like it also implements a way to add three-letter codes directly into the config file, which is cool and closes an open issue.