zpl.tools
RFID

^WF - Write RFID AFI or DSFID Byte

Writes the application family identifier or data storage format identifier byte to a tag.

^WF writes one of the two ISO 15693 single-byte identifiers — the application family identifier or the data storage format identifier — from the field's ^FD. It is one byte, and the renderer neither encodes nor prints it. The renderer consumes the field and reports a diagnostic.

Syntax

^WFr,m,w,f,b

Support

Recognised, deliberately skippedparsed: none · state: none · rendered: none

Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.

Writes one byte into the transponder. The parser consumes that ^FD and draws nothing for it, so the byte does not reach the label. The renderer does not parse this command. It reports IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary is also silent, so the rendered label is identical in both engines. — not pinned by a test

Labelary renders this command.

Parameters

rNumber of retriesoptional · integer

How many times the printer retries the operation on a single tag before it stops.

Default
0
Accepted range
0 to 10
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No test at the minimum, maximum or one step outside the range.
mMotionoptional · one of a set

Whether the media feeds once the operation completes.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
Feed the label after the operation. (default)
1
No feed. Other commands in the format can still cause one.
wWrite protectoptional · one of a set

Whether the byte is write-protected once encoded.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
Not write protected. (default)
1
Write protected.
fData formatoptional · one of a set

How the printer interprets the tag data.

Default
0
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (0, 1).
0
ASCII. (default)
1
Hexadecimal.
bType of byteoptional · one of a set

Which of the two single-byte identifiers the operation addresses.

Default
A
Invalid value
not documented, and we have not measured it. The renderer does not parse this command or validate its arguments. The guide does not state what a printer does with an out-of-range value.
Test coverage
No documented value is exercised by a test (A, D).
A
The application family identifier (AFI) byte. (default)
D
The data storage format identifier (DSFID) byte.

Behavior

Error handling belongs to ^RS and not to this command. ^WF sets its own retry count, and ^RS parameter e decides what happens after the retries run out. The write-protect flag is one-way on most tags.

The guide writes the byte in the field data, so ^WF5^FDR^FS encodes R (hex 52) with up to five retries. The renderer consumes that field and draws nothing for it. Until 2026-07-30 the R reached the text renderer and drew in the default font A at approximately 3 pt. It was a single stray character in the corner of a label, the easiest version of that defect to miss.

Tested behavior

Differences from the specification

Example

The guide's example, with a caption:

^XA
^FO50,50^A0N,40,40^FDAFI byte R^FS
^WF5^FDR^FS
^XZ

Open in viewer