RDM PID Store
The RDM PID Store contains information on the format of over 170 Manufacturer PIDs. This allows controller to build human-friendly user interfaces and avoids requiring end users to enter raw PID data.
Manufacturer PIDs allow manufacturers to extend RDM to extend RDM by adding functionality specific to their product. This in turn allows manufacturers to differentiate their product from others on the market. The RDM standard defines manufacturer PIDs as those within the range 0x8000 - 0xFFDF.
A problem arises however when controllers from one manufacturer need to control manufacturer PIDs in a responder from a different manufacturer. Unless the controller knows the format of the PID data to send, the responders will reply with a NACK Format Error.
The RDM Protocol defines the PARAMETER_DESCRIPTION message which attempts to describe an RDM PID. This is sufficient for simple PIDs but suffers from a number of limitations:
- PID messages that contain packed data types or variable-sized lists cannot be described.
- There is no way to express valid ranges of more than one data type. Ranges cannot be described on a per field basis, which means any range restrictions are assumed to apply to all fields.
- Enumerated types are not supported. This becomes an issue as a value of 1 for a hypothetical DEVICE_MODE parameter is meaningless without the added information that value 1 means “DMX512.”
- PARAMETER_DESCRIPTION assumes that GET responses and SET requests are equivalent
- PARAMETER_DESCRIPTION has no way to indicate that a GET request, or SET response contains data.
In contrast, the RDM PID Store provides a richer description language that addresses these problems. Each GET / SET request / response pair is described individually, avoiding the ambiguity in PARAMETER_DESCRIPTION.
The data is browsable online at http://rdm.openlighting.org/ and can be exported on request. Data from the PID Store is included in each release of OLA. This allows the command line tools and sniffer programs to display manufacturer PIDs in a human readable format.