2.2.3.1 DVC Data First PDU (DYNVC_DATA_FIRST)
The DYNVC_DATA_FIRST PDU is used to send the first block of data of a fragmented message when compression is not being used for the data block. It MUST be the first PDU sent when a message has been fragmented and the data block is not compressed. The total length, in bytes, of the message to be sent is indicated in the Length field, and the data field contains the first block of the fragmented data.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cbId |
Len |
Cmd |
ChannelId (variable) |
||||||||||||||||||||||||||||
... |
Length (variable) |
||||||||||||||||||||||||||||||
... |
Data (variable) |
||||||||||||||||||||||||||||||
... |
cbId (2 bits): Indicates the length of the ChannelId field.
-
Value
Meaning
0x0
ChannelId field length is 1 byte.
0x1
ChannelId field length is 2 bytes.
0x2
ChannelId field length is 4 bytes.
0x3
Invalid value.
Len (2 bits): Indicates the length of the Length field.
-
Value
Meaning
0x0
Length field length is 1 byte.
0x1
Length field length is 2 bytes.
0x2
Length field length is 4 bytes.
0x3
Invalid value; MUST NOT be used.
Cmd (4 bits): This field MUST be set to 0x02 (Data First).
ChannelId (variable): A variable-length 8-bit, 16-bit, or 32-bit unsigned integer. Set to the value of the ChannelId associated with the DVC on which the PDU is being sent.
Length (variable): A variable length 8-bit, 16-bit, or 32-bit unsigned integer. Set to total length of the message to be sent.
Data (variable): An array of bytes. The first block of data of a fragmented message. Message data is sent as 8-bit unsigned integers. The DVC header size is defined as the sum of the sizes of the Cmd, Len, cbId, ChannelId and Length fields. The length of the data in the Data field is determined as follows:
If the sum of the DVC header size and the value specified by the Length field is less than 1,600 bytes, then the actual data length equals the value specified by the Length field.
If the sum of the DVC header size and the value specified by the Length field is equal to or larger than 1,600 bytes, then the actual data length equals 1,600 bytes minus the DVC header size.