Could someone verify or correct my interpretation of DMX personalities?

As I see it, the acceptable range for reporting the current personality and number of personalities in both the DMX_PERSONALITY and DEVICE_INFO PIDs should be 0x0101 - 0xFFFF. That is, it would be incorrect to report 0x0000 or 0x0100 in the DMX Personality field of a DEVICE_INFO response for a device that does not use personalities or support the DMX_PERSONALITY PID.

My reasoning comes from the last paragraph on p. 68 in the spec, which states that personalities are to be consecutively numbered starting at 1. I believe this statement elimiates the validity of reporting 0x0000 in the DMX personality field of DEVICE_INFO, but not specifically 0x0100. However, it seems reasonable that 0x0100 should also be invalid because this is equivalent to saying "I am set to the first of zero personalities". If this interpretation is correct it means every RDM compliant device must have at least 1 personality.

I would concur that every RDM device must have at least 1 personality.

There is no requirement that the personality has a non zero dmx footprint.

Thus I would support the view that the device info field should never appear to have a personality/number of personalities of 0x0000 or 0x0100.

"Discoverable devices" such as splitters that have no dmx footprint should still have at least a single personality. Some, such as the Pathway unit, have several modes of operation and thus the potential for multiple personalities.

It is true that a device that has no DMX footprint will not be correctly discovered by the DFD Remote Addressing Device (RAD) - but this is really a problem for the RAD to resolve, and should not generate any requirement for splitters to have spoof dmx footprints.

I would support your interpretation as it does strictly follow what is written.

However at the same time, I would not fall over if someone returned 0x0000. I could see someone that only has a single DMX footprint or mode making a decision to report 0x0000 if they chose not to report the DMX_PERSONALITY message since the DMX footprint already gets reported back in the DEVICE_INFO message.

A device which does not consume any DMX channels and has a resultant footprint of 0 could also likely make the decision to report 0x0000. I think this last one is a bit more of a gray area and I could see someone making arguments both ways on it.

While what Peter says is correct, someone could use this message for devices that have different modes that don't actually consume DMX channels, the intent and typical purpose of the message is for different DMX512 Personalities and most will associate it with that.

I still maintain that the Personality field (either in Device Info) or in response to the Get:DMXPersonality should never be 0x0000.

All devices, irrespective of whether they "consume" DMX slots have at least one personality. It is legitimate for that personality to have a footprint of zero, and thus not to support the GET/SET DMX Address PID, GET/SET DMX_PERSONALITY or GET/SET DMX_PERSONALITY_DESCRIPTION.

But my reading of the standard would require a response of 0x0101 in this field.