PDA

View Full Version : PARAMETER_DESCRIPTION data type semantics


tim_ecue
October 8th, 2009, 04:33 AM
Hi,

I have two questions:

1) the data type description refers to arrays rather than single elements. Does this mean, that given a data type of say DWORD, the PDLen must be a fixed multiple of 4 indicating a fixed size DWORD array or should it be always 4, indicating a single DWORD (and arrays are not allowed at all)

2) I have a lamp here that returns a PARAMETER_DESCRIPTION response with a PDlen=2 and 0x0006 as the actual data. Did I miss something or is this just plain wrong ?

Any help is appreciated :)

Best,
Tim

sblair
October 14th, 2009, 01:13 AM
Tim,

The PDL is always the number of bytes, regardless of the data type. PDL Size is used to tell the controller what to expect the PDL to be for a GET_COMMAND_RESPONSE or SET_COMMAND_RESPONSE message.

There are a number of flaws you'll find documented on here with the Parameter Description message but it still has some basic uses. Strictly speaking by Table A-15, you can have arrays of values, but most commonly it will be an array size of 1. i.e. a single data value.

In the case of a single DWORD value, the PDL would be 0x04 with leading 0's to pad out the field.

A PDL of 0x02 and an actual value of 0x0006 would indicate a 16-bit value. If the PDL is 0x04 then the actual value would be: 0x00000006.

tim_ecue
October 14th, 2009, 03:18 AM
Thanks for the clarification!

Just in case anyone cares: (2) was my bad because the response was actually a NAK response and thus did not contain a PARAMETER_DESCRIPTION at all.

prwatE120
October 14th, 2009, 05:17 AM
Note :

2) I have a lamp here that returns a PARAMETER_DESCRIPTION response with a PDlen=2 and 0x0006 as the actual data. Did I miss something or is this just plain wrong ?

As Tim acknowledges, this could not have been a correct response to a GET:PARAMATER_DESCRIPTION, as the response must have a PDL in the range 0x14 -0x34, as detailed in section 10.4.2 of the standard.

Thus I found Scott's original response a bit misleading.

As has been documented elsewhere, the format of this PID is severely limited, and probably the best approach is just to use it to send a text description of your Manufacturer specific PID.

Peter Willis

sblair
October 14th, 2009, 11:47 AM
Peter, there are 2 PDL fields involved here. 1 is the PDL for the PARAMETER_DESCRIPTION response itself. The other is the PDL that is included in the parameter description message that defines what the PDL is for a response for the parameter ID that is being described. What we were talking about is the latter.