Code: |
AS + 321 |
Symbolic: |
bccRegisterVar |
This command will register a dynamic variable on the connected device. Request parameters are the following:
Offset |
Type |
Label |
Description |
---|---|---|---|
0 |
U32 |
OWNERID |
Owner identification |
4 |
U32 |
VARSETID |
Variable set identification |
8 |
U16 |
FLAGS |
Registration flags: 0x1=Single use registration |
10 |
STRZ |
KEY |
Variable key |
On success, a bccAck is received with the following data:
Offset |
Type |
Label |
Description |
---|---|---|---|
0 |
U8[6] |
VIDD |
Variable identification data |
6 |
U16 |
FLAGS |
Registration reply flags: 0x1=Unlimited TTL |
8 |
U32 |
TTL |
Variable time to live [ms] |
On failure, a bccNack is received. Specific errors:
NACK code |
Description |
Extra data |
---|---|---|
nackIllegalVarsetId |
Illegal variable set identification |
|
nackIllegalArgs |
Illegal arguments |
U16 What illegal: 1=OwnerId 2=Key |
nackNotFound |
Variable key not found |
|
nackIllegalDataType |
Variable data type not handled |
|
The dynamic variables always have a duration (or expiration): this duration is to be considered as the maximum time of said inactivity (TTL).
Format of the KEY field
The format of the KEY field is the following:
[<prefix>][;[<repeat>]]=<field0>[;<field1>[…]] |
where <prefix> is the name of the RVAR prefix (or * in case of no prefix) , <repeat> is the number of the consecutive data, where possible (default value is 1).
The format of the <fieldX> data is the following:
[<prefix>][;[<repeat>]]=<field0>[;<field1>[…]] |
where <name> is the name of the field and <indexX> is the optional X array index. Note that: value <index2> implies <index1> and <index1> implies <index0>.