Dynamic configuration commands

This section lists valid dynamic commands to send over a Command Interface, either a virtual COM port or serial port, using a program such as TeraTerm or PuTTY-nd for instance. You may also want to use commands in Remote management commands and Data request commands.

Note: When OSDP Secure mode is enabled on a particular Command Interface, ?osdp is the only valid dynamic configuration command.

Dynamic commands are used to manage the behaviour of a VTAP reader in passive mode, in real time. They support close integration of your VTAP reader with other systems. These commands are not saved in config.txt so they will only be valid until the next ?x command, reboot or refresh, when the VTAP reader will return to following the settings in config.txt.

Note: End any command sent with a <CR> or <LF>, but not both.

A <setting> refers to one of those listed in config.txt settings .

>interface
Definition:

Send a message (for example as a virtual pass or tag payload) from any ComPort or serial interface to any of the other interfaces.
Note: Sending to a Wiegand interface >W is described separately.

API level: 3
Options:

The syntax used is >interface:type:message

interface is one of k, c, s, t, or b where k=Keyboard, c=ComPort, s=Serial, t=Serial2, b=Bluetooth keyboard. Valid choices depend on your hardware.
type is the pass type .

(For a ClosedPass type explainer - click here)

Pass type character

Pass type is a single character to describe the source of a received pass payload, which may be an Apple VAS pass or Google ST pass, a particular type of NFC card, or other source such as a barcode scanner. The values that returned are:

A - Apple VAS pass
G - Google ST pass
0 - MIFARE card/tag
2 - NFC type 2 card/tag
4 - NFC type 4 card/tag
6 - NFC type 5 card/tag
E - Card emulation
Q - Scanner input
X - Apple Wallet Access iPhone
W - Apple Wallet Access Watch

The example here will send “hello”, as if it were an Apple pass payload, to the keyboard emulation interface.

Serial commands must be enabled over the corresponding interface. For example, if sending a message to ComPort, ComPortSource=83 will enable pass read, card/tag reads and serial commands over the virtual COM port.

Example value: >K:A:hello
>W:T:YY:XXXXXXXX
Definition:

Send a message (for example as a virtual pass or tag payload) from any of the serial interfaces to a Wiegand interface [VTAP100-PAC-W only]. This is slightly different from the general case, as the message must take the form of a bit pattern and requires a bit length value.

API level: 0
Options:

T is type ,
YY is the Wiegand bit length in hex and
XXXXXXXX is the Wiegand data in hex. (This is left justified, which means any padding bits to make a multiple of 8 will be in the LS bits).

(For a ClosedPass type explainer - click here)

Pass type character

Pass type is a single character to describe the source of a received pass payload, which may be an Apple VAS pass or Google ST pass, a particular type of NFC card, or other source such as a barcode scanner. The values that returned are:

A - Apple VAS pass
G - Google ST pass
0 - MIFARE card/tag
2 - NFC type 2 card/tag
4 - NFC type 4 card/tag
6 - NFC type 5 card/tag
E - Card emulation
Q - Scanner input
X - Apple Wallet Access iPhone
W - Apple Wallet Access Watch

The example here will send the 6 bit “B7A207”, as an Apple pass payload, to the Wiegand interface.

Example value: >W:A:06:B7A207
?a
Definition:

Change COM port to active mode. Mobile pass, card/tag data will then be sent over the COM port automatically, whenever it is received.

API level: 0
Options:

-

Example value: ?a
Deprecated
?BEEP
Definition:

The buzzer can be driven by this command over any serial command interface. *Use of ?BEEPR now preferred.*

API level: 1
Options:

The syntax is:
<on ms>,<off ms>,<number of repeats>[,<frequency>][:<section_name>@<text_file> for beep sequence]

In the first example, the buzzer will beep twice for 200ms on and 200ms off. (Frequency defaults to 3136Hz if not set).

The second example follows a beep sequence defined in the section [tagbeep] of the config.txt file on the VTAP reader.

Note: If the sequence definition section is not found, the reader will default to the defined monotone beep.

Example value:

?BEEP 200,200,2
?BEEP 200,200,2:tagbeep@config.txt

?BEEPR
Definition:

The buzzer can be driven by this command over any serial command interface.

API level: 1
Options:

The syntax is:
<on ms>,<off ms>,<number of repeats>[,<frequency>][:<section_name>@<text_file> for beep sequence]

In the first example, the buzzer will beep twice for 200ms on and 200ms off. (Frequency defaults to 3136Hz if not set).

The second example follows a beep sequence defined in the section [tagbeep] of the config.txt file on the VTAP reader.
Note: If the sequence definition section is not found, the reader will default to the defined monotone beep.

Response provided OK<newline> or FAIL<newline>.

Example value:

?BEEPR 200,200,2
?BEEPR 200,200,2:tagbeep@config.txt

?card <type><:lang>,<NDEF>
Definition:

Set the CardEmulationData value dynamically over a serial interface. This defines the NDEF data to be sent by a VTAP reader that is in card emulation mode.

API level: 0
Options:

<NDEF> data is assumed to be text if a <type> is not included
TEXT (T) type is assumed to be english (en) unless another 2 character <lang>uage code is used
URI (U) requires a valid web address
RAW (R) is a raw binary message part for an NDEF record. Its length will be automatically set.
FILE (F) points to a text file on the VTAP containing one of the other command types.

For more detail refer to Set data to be sent from the VTAP in card emulation mode.

Example value:

?card TEXT,Hello World!
?card URI,http://www.vtapnfc.com
?card RAW,D101055402656e4869
?card FILE,tagdata.txt

?cardmode <#>
Definition:

Set the CardEmulationMode value dynamically over a serial interface. This enables or ends a mode, where the VTAP emulates an NFC Forum Type 4 card or tag, containing NDEF encoded data.

API level: 0
Options:

=0 to leave card emulation mode,
=1 to enter card emulation mode,
=2 to enter mixed mode, where the VTAP reads tags and passes but will also emulate a card.
For more detail refer to Choose card emulation mode on the VTAP.

After this command the VTAP returns the number of its current CardEmulationMode. Omitting a mode number <#> will also return the current CardEmulationMode.

Example value: ?cardmode 1
Deprecated
?k
Definition:

Consumes any key files (such as privateX.pem or appkey#.txt) into secure storage, from the file system, without requiring a restart. Then remount the USB mass storage device after loading keys, forcing the USB host, such as Windows, to update its cache of the filesystem directory. *Use of ?KEYLOAD now preferred.*

API level: 0
Options:

-

Example value: ?k
?KEYLOAD
Definition:

Consumes any key files (such as privateX.pem or appkey#.txt) into secure storage, from the file system, without requiring a restart. Then remount the USB mass storage device after loading keys, forcing the USB host, such as Windows, to update its cache of the filesystem directory.

API level: 0
Options:

Response provided OK<newline> or FAIL<newline>.

Example value: ?KEYLOAD
?l
Definition:

To lock the VTAP configuration using a password over any serial command interface.

API level: 0
Options:

The example will lock the VTAP configuration using the password APa55word.

Example value: ?l APa55word
Deprecated
?LED
Definition:

The LED [Not VTAP50 v1] can be driven with this command over any serial command interface. Sequences of RGB LED flashes can be triggered, specifying the hexadecimal RGB colour. [VTAP50 v2 only: A serial LED pattern can be chosen.] *Use of ?LEDR now preferred.*

API level: 0
Options:

LED colour (use any hex RGB colour value), LED on ms, LED off ms, number of repeats.
In the example, the LED will flash red 5 times for 100ms on and 100ms off.

[VTAP50 v2 only: follow the second example to instruct the LEDs to follow the seq.test portion of the leds.ini file in driving the chain of serial LEDs].

Example value:

?LED FF0000,100,100,5
?LED FFFFFF:seq.test@leds.ini

?LEDR
Definition:

The LED [Not VTAP50 v1] can be driven with this command over any serial command interface. Sequences of RGB LED flashes can be triggered, specifying the hexadecimal RGB colour. [VTAP50 v2 only: A serial LED pattern can be chosen.]

API level: 0
Options:

LED colour (use any hex RGB colour value), LED on ms, LED off ms, number of repeats.
In the first example, the LED will flash red 5 times for 100ms on and 100ms off.

[VTAP50 v2 only: follow the second example to instruct the LEDS to follow the seq.test portion of the leds.ini file in driving the chain of serial LEDs, or the third example to follow the contents of a leds.ini file by default.]

Response provided OK<newline> or FAIL<newline>.

Example value:

?LEDR FF0000,100,100,5
?LED FF0000:seq.test@leds.ini

?NFC
Definition:

To enable/disable the NFC field, to reduce power consumption. If no value is supplied with the command, it will read the current state of the NFC field, returning ON or OFF.

API level: 0
Options:

The example will enable the NFC field

Example value: ?NFC 1
?osdp
Definition:

Enable/disable OSDP on a given port.

API level: 0
Options:

Using the syntax ?osdp [enable=<Serial2OSDP>] [keyslot=<Serial2OSDPKeySlot>] [address=<Serial2OSDPAddress>] [format=<Serial2OSDPFormat>] [secureonly=<Serial2OSDPSecureOnly>] you can change any or all of these OSDP interface settings dynamically to change OSDP behaviour on the current port, until a reboot.

The command will always return the resulting OSDP state on the port, which could be Enabled, Enabled,SecureOnly or Disabled. So sending ?osdp without any parameters just queries whether OSDP is enabled on this port.

Example value:

?osdp
?osdp enable=1 keyslot=1 address=0 format=wiegand secureonly=1

?p
Definition:

Change the COM port to passive mode. The COM port will then only send data in response to specific commands.

API level: 0
Options:

-

Example value: ?p
?REBOOT
Definition:

To reboot the VTAP over any serial command interface.

API level: 0
Options:

Response provided OK<newline> or FAIL<newline>.

Example value: ?REBOOT
?STPasses
Definition:

To dynamically change the Google Smart Tap pass enabled over any serial command interface. Avoids the need for frequent edits to config.txt when pass types often need to be changed.

API level: 0
Options:

The example will enable only Google SmartTap pass type ST4, if it is present in config.txt

Example value: ?STPasses 4
?tap
Definition:

Allows you to emulate a pass or card tap by supplying the pass or card payload data. The ...Source settings determine which interfaces should receive the data. Active interfaces receive the data directly. For passive interfaces the data is inserted into the tap cache to be read by any interfaces using the ?r command. One use of this command is to facilitate testing.

API level: 2
Options:

The syntax required is:
?tap <T><M><K>,<passdata>

<T> is the pass type
<M> is an optional merchant index character 0 to 9, defaults to 0 if omitted
<K> is the optional key slot character 1 to 9, defaults to 0 if omitted
<passdata> is the data to be recorded as if it were a pass read

(For a ClosedPass type explainer - click here)

Pass type character

Pass type is a single character to describe the source of a received pass payload, which may be an Apple VAS pass or Google ST pass, a particular type of NFC card, or other source such as a barcode scanner. The values that returned are:

A - Apple VAS pass
G - Google ST pass
0 - MIFARE card/tag
2 - NFC type 2 card/tag
4 - NFC type 4 card/tag
6 - NFC type 5 card/tag
E - Card emulation
Q - Scanner input
X - Apple Wallet Access iPhone
W - Apple Wallet Access Watch

The response will be either OK, or FAIL if no data is provided.

Any prefix/postfix strings configured are applied to keyboard, ComPort and serial outputs when in active mode. Pass data sent to Wiegand will have PassFormat=h, d or a and all other PassWiegand... options applied. Card/tag data sent to Wiegand will have TagWiegandASCIIFormat and TagWiegandBits applied.

Example value:

?tap A,1234546A
?tap G12,PASS12345678
?tap A1,NOKEYSPECIFIED

?u
Definition:

To unlock the VTAP configuration using a password over any serial command interface.

API level: 0
Options:

The example will unlock the VTAP configuration, using the password APa55word

Example value: ?u APa55word
?VASPasses
Definition:

To dynamically change the Apple VAS passes enabled over any serial command interface. Avoids the need for frequent edits to config.txt when pass types often need to be changed.

API level: 0
Options:

The example will enable only Apple VAS passes VAS3, VAS4 and VAS5, if they are present in config.txt

Example value: ?VASPasses 3,4,5
Deprecated
?x
Definition:

To reboot the VTAP over any serial command interface. *Use of ?REBOOT now preferred.*

API level: 0
Options:
Example value: ?x