2.4.26 BopPopCustom

The BopPopCustom record specifies which data points in the series are contained in the secondary bar/pie instead of the primary pie. MUST follow a BopPop record that has its split field set to Custom (0x0003).


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

cxi

rggrbit (variable)

...

cxi (2 bytes): An unsigned integer that specifies to the number of data points in the series plus one. MUST be less than 32000.

rggrbit (variable): A sequence of bits that specifies whether each data point in the series is contained in the primary pie or the secondary bar/pie. For each data point a corresponding bit specifies whether a data point is contained in the secondary bar/pie or primary pie as specified in the following table:

Value         

Meaning

0

Data point is contained in the primary pie.

1

Data point is contained in the secondary bar/pie.

The size of this field, in bytes, is calculated using the following formula:

size of rggrbit in bytes = 1+floor(cxi / 8)

The padding of this field, in bits, is calculated using the following formula:

padding = size of rggrbit in bits - cxi

The position of each bit in the sequence corresponds to the position of each data point in the series arranged as follows:

  • Any padding is placed in the most significant bits of the first byte. The next most significant bit of the first byte corresponds to the first data point in the series. If there are any more unused bits in the first byte, the next most significant bit corresponds to the second data point in the series. This pattern continues until there are no remaining unused bits in the first byte.

  • The most significant bit of the next byte corresponds to the next data point in the series. The next most significant bit contains the next data point in the series. This pattern continues for each byte in the sequence.

  • The least significant bit of the final byte is an additional bit that specifies whether the secondary bar/pie does not contain data points. If the value of the additional bit is 1, the value of every other bit MUST be 0.

    The following figure demonstrates this order:

Byte 0

0 (LSB)

1

2

3

4

5

6

7

Data Point 3

Data Point 2

Data Point 1

Data Point 0

Padding

Byte 1

8

9

10

11

12

13

14

15 (MSB)

Additional Bit

Data Point 10

Data Point 9

Data Point 8

Data Point 7

Data Point 6

Data Point 5

Data Point 4