OpenLightingProject / open-fixture-library

A library and website for lighting technology's DMX fixture definition files.
https://open-fixture-library.org/
MIT License
193 stars 64 forks source link

Uniqueness of RDM personality IDs #530

Open peternewman opened 6 years ago

peternewman commented 6 years ago

More for info, I don't really have a solution, but some fixtures, e.g. this: http://www.sunricher.com/industrial-level-5-channel-dmx512-rdm-decoder-sr-2108a-m5-5.html

Have different sets of personalities, depending on other fixture settings. In this case, changing the Channels from 1-5 presents either 8/16 bit control in 1 channel mode, through to 8 or 16 bit, or 8+strobe+master dimmer in 5 channel mode, so there may be two channel layouts with the same RDM Personality ID. I'm not sure without checking if it's in spec with the RDM standard, but it's out there as a fixture.

Your code here would error on that: https://github.com/OpenLightingProject/open-fixture-library/blob/ac4e260cf07da58e36b1e4499b65d5c64da3460f/tests/fixture-valid.js#L848-L858

But I don't really have a better idea, unless you have some concept of sub modes the device might be in, and move the uniqueness check to that level.

FloEdelmann commented 6 years ago

Thanks for pointing it out to us!

It doesn't look like a device we would add to OFL soon, but technically there is nothing preventing that. I think changing the error message created by checkUniqueness to just a warning in this case would be the easiest way to get around the issue.

peternewman commented 6 years ago

Or perhaps add specific exclusions for particular manufacturer/model ID pairs, given the warning is probably generally more major and unlikely to be hit. It'd also break the linking from rdm.openlighting.org .