2.1.2.2 MultiByteInt31-(2 Bytes)

The MultiByteInt31-(2 Bytes) packet is used to store unsigned integers in the range of 0x0080 to 0x3FFF (decimal 128 to 16383) inclusive.

MultiByteInt31 (14 bits encoded in 2 bytes)


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Value_B

Value_A

Value_B (7 bits): Second seven LSB of value

Value_A (7 bits): First seven LSB of value

0

1

2

3

4

5

6

7

8

9

1

0

1

2

3

4

5

0

Value_B

1

Value_A

Example: decimal 145

0

1

2

3

4

5

6

7

8

9

1

0

1

2

3

0

0

0

0

0

0

1

0

0

1

0

0

0

1

Encodes as follows.

0

1

2

3

4

5

6

7

8

9

1

0

1

2

3

4

5

0

0

0

0

0

0

0

1

1

0

0

1

0

0

0

1

Thus, the decimal value 145 is encoded as 2 bytes, as in the following example.

 0x91 0x01

Example: decimal 5521

0

1

2

3

4

5

6

7

8

9

1

0

1

2

3

0

1

0

1

0

1

1

0

0

1

0

0

0

1

Encodes as follows.

0

1

2

3

4

5

6

7

8

9

1

0

1

2

3

4

5

0

0

1

0

1

0

1

1

1

0

0

1

0

0

0

1

Thus, the decimal value 5521 is encoded in 2 bytes, as in the following example.

            
 0x91 0x2B