beautypg.com

9 using the append operator in field assignments, Using the append operator in field assignments, Append operator – Teledyne LeCroy Voyager Exerciser Generation Script Language Manual User Manual

Page 114

background image

Teledyne LeCroy

Voyager USB 3.0 Exerciser Generation Script Language Reference Manual

105

10.9 Using the Append Operator in Field Assignments

You can append data to fields using = + (append operator) in field assignments. Use the append
operator to generate dynamic packets and avoid restating previously assigned values. For
example, if a packet variable field SomeField

contains “01 02 03”, to add “04 05 06” you can

assign SomeField = +{04 05 06} ), rather than assigning SomeField = {01 02 03 04 05 06}.

Note:
Do not confuse this operator with the += operator, or a parse error will be generated!
You can write the append operator as = + or =+ (without a space), but it is recommended to use
the space to avoid confusion with the += operator.

Examples

Packet

BPOIE

{
ElemID : 8 =

1

ElemLen : 8
BPLen : 8
Occupancy_Bitmap : *
DevAddrList : *
}
BPOIE $Beacon3_BPOIE
BPOIE $Beacon11_BPOIE


Main

{
$Beacon3_BPOIE
{
BPLen =

16

Occupancy_Bitmap = {

00 55 55 55 01

}

DevAddrList = {

04 00

}

}

# Generate DevAddrList for Addrs 5-16 : DevAddrList = {04 00} -->

# DevAddrList = { 04 00 05 00 06 00 07 00 08 00 09 00 0A 00
# 0B 00 0C 00 0D 00 0E 00 0F 00 10 00 }

for

( i=

5

, i<

17

, i++)

{
$Beacon3_BPOIE{ DevAddrList = +{

i 00

} }

}
$Beacon11_BPOIE
{
BPLen =

16

Occupancy_Bitmap = {

10 55 15 55 01

}

DevAddrList = {

03 00

}

}

# Generate DevAddrList for Addrs 4-10 and 12-16 :

# DevAddrList = {03 00} -->
# DevAddrList = { 03 00 04 00 05 00 06 00 07 00 08 00 09 00
# 0A 00 0C 00 0D 00 0E 00 0F 00 10 00 }

for

(i=

4

, i<

17

, i++)

{

if

(i!=

11

)

{
$Beacon11_BPOIE{ DevAddrList = +{

i 00

} }

}
}

}