Appendix

ASCII Type Classification

The following table shows the classification of ASCII values according to these categories:

  • NOPRINT - Non Printable ASCII value
  • WHITESPACE - Tabs, Spaces, Line Feeds, Vertical Tabs, Carriage Returns
  • NUMERIC - Values 0 to 9
  • ALPHA - Values A to Z and a to z
  • OTHER - ASCII values greater than 127
  • SPECIAL - Everything else

The categories are used by the “Include” criteria and the “Filter Output Data” action, as well as the Modify Data action to replace Non-Printable characters with a printable one.

Table 1: ASCII Type Classification

ASCII Category ASCII Value
NOPRINT 00 NUL
NOPRINT 01 SOH
NOPRINT 02 STX
NOPRINT 03 ETX
NOPRINT 04 EOT
NOPRINT 05 ENQ
NOPRINT 06 ACK
NOPRINT 07 BEL
NOPRINT 08 BS
WHITESPACE 09 TAB
WHITESPACE 10 LF
WHITESPACE 11 VT
WHITESPACE 12 FF
WHITESPACE 13 CR
NOPRINT 14 SO
NOPRINT 15 SI
NOPRINT 16 DLE
NOPRINT 17 DC1
NOPRINT 18 DC2
NOPRINT 19 DC3
NOPRINT 20 DC4
NOPRINT 21 NAK
NOPRINT 22 SYN
NOPRINT 23 ETB
NOPRINT 24 CAN
NOPRINT 25 EM
NOPRINT 26 SUB
NOPRINT 27 ESC
NOPRINT 28 FS
NOPRINT 29 GS
NOPRINT 30 RS
NOPRINT 31 US
WHITESPACE Space
SPECIAL !
SPECIAL "
SPECIAL #
SPECIAL $
SPECIAL %
SPECIAL &
SPECIAL '
SPECIAL (
SPECIAL )
SPECIAL *
SPECIAL +
SPECIAL ,
SPECIAL -
SPECIAL .
SPECIAL /
NUMERIC 0
NUMERIC 1
NUMERIC 2
NUMERIC 3
NUMERIC 4
NUMERIC 5
NUMERIC 6
NUMERIC 7
NUMERIC 8
NUMERIC 9
SPECIAL :
SPECIAL ;
SPECIAL <
SPECIAL =
SPECIAL >
SPECIAL ?
SPECIAL @
ALPHA A
ALPHA B
ALPHA C
ALPHA D
ALPHA E
ALPHA F
ALPHA G
ALPHA H
ALPHA I
ALPHA J
ALPHA K
ALPHA L
ALPHA M
ALPHA N
ALPHA O
ALPHA P
ALPHA Q
ALPHA R
ALPHA S
ALPHA T
ALPHA U
ALPHA V
ALPHA W
ALPHA X
ALPHA Y
ALPHA Z
SPECIAL [
SPECIAL \
SPECIAL ]
SPECIAL ^
SPECIAL _
SPECIAL `
ALPHA a
ALPHA b
ALPHA c
ALPHA d
ALPHA e
ALPHA f
ALPHA g
ALPHA h
ALPHA i
ALPHA j
ALPHA k
ALPHA l
ALPHA m
ALPHA n
ALPHA o
ALPHA p
ALPHA q
ALPHA r
ALPHA s
ALPHA t
ALPHA u
ALPHA v
ALPHA w
ALPHA x
ALPHA y
ALPHA z
SPECIAL {
SPECIAL |
SPECIAL }
SPECIAL ~
NOPRINT 127 DEL
OTHER 128-255


Action Failures and Recovery

The following table shows how the ADF interpreter will recover in various Action Failure cases when “Partial Action Recovery” is selected in General Settings. The Ignore recovery is applied if there is no partial recovery available, see table.

Table 2: Action Failures and Recovery

Action Failure Partial Action Recovery
Send all data that remains Output buffer full Only insert data up to what can fit, discard the rest
Send up to char X No match Ignore Action
Send up to char X Output buffer full Only insert data up to what can fit, discard the rest
No match Ignore Action
Send next N chars Out of bounds Send data up to end
Output buffer full Only insert data up to what can fit, discard the rest
Select mag data Message source is not magstripe data Ignore Action
Select mag data Track number in rule out of range Ignore Action
Move cursor to Char X No match Ignore Action
Move cursor to position Out of bounds Move cursor to last character in data
Move cursor ahead Out of bounds Move cursor to last character in data
Move cursor back Out of bounds Move cursor to first character in data
Move cursor to Pattern No match Ignore Action
Replace first Pattern No match Ignore Action
Output buffer full Only insert data up to what can fit, discard the rest
Replace all Patterns No match Ignore Action
Output buffer full Only insert data up to what can fit, discard the rest
Move cursor to position from end Out of bounds Move cursor to first character in data
Move cursor in reverse to char X No match Ignore Action
Move cursor in reverse past string X No match Ignore Action
Send Keystroke Output buffer full Ignore Action
Send pause N seconds Output buffer full Ignore Action
Send pause indirect Output buffer full Ignore Action
Replace Character Keycat value in rule not supported Ignore Action
Replace Non Printable The ASCII value that replaces unprintable data is also unprintable Ignore Action
Trim Outside Positions The start and end indexes are the same or the end index is less than the start Ignore Action
Filter Output Data Filter Mask has undefined bits set Ignore Action
Erase next N characters Out of bounds Ignore Action
Erase N characters from End Out of bounds Ignore Action
Delete First Pattern No match Ignore Action
Delete all Patterns No match Ignore Action
Beep Indication UIF code out of range Ignore Action
Rule Set Control Flag number out of range Ignore Action
Send Value (Prefix Suffix) Invalid param index (>6) or Out of Memory Ignore Action
Change Input Source Invalid Source Type or Unsupported Attribute number Ignore Action
LED indication Product does not support the requested LED or duration exceeds 10 seconds Ignore Action
Vibrate Indication Vibrator motor is not present or Haptics feature is not installed Ignore Action
Repeat Send Repeat count is greater than 10 Coerce count to 10 and do the repeat


List of Features by ADF Version

Criteria

The following table shows a list of criteria supported in the legacy version of ADF and the latest version ADF2.

Table 3: List of Criteria Supported by ADF Version

Criteria Criteria Type Legacy ADF (ADF1) ADF2
Barcode Content Alphabetic Characters
Custom Character Set
Extended ASCII Codes (128-255)
Non-Printable
Numeric Characters
Special Characters
Whitespace
Barcode Length Equal
Greater than
Less than
Multiple lengths (3)
Not equal
Range
Single length
Barcode Trigger Mode Handsfree
Primary Trigger
Secondary Trigger
Software Trigger
Barcode Type Code type
Host Mode
Input Source Any scanner
Aux serial input
Auxiliary scanner
Primary scanner
Match String Match any location
Match at position
Match end
Match start

Actions

The following table shows a list of actions supported in the legacy version of ADF and the latest version ADF2.

Table 4: List of Actions Supported by ADF Version

Action Action Type Legacy ADF (ADF1) ADF2
Skip (Input Data) Ahead N characters
Back N characters
To end
To position N from end
To position N from start
To start
Move Cursor Location (Input Data) Cursor back to pattern X
Past character X
To character X
To character X from end
To pattern X
Edit (Input Data) Delete all pattern X
Delete first pattern X
Erase next N characters
Erase next N characters from end
Remove leading character X
Remove trailing character X
Replace all pattern X
Replace first pattern
Trim outside positions
Send (Output Data) Pause Specified amount of time
Send All Data
Send next N characters
Send up to character X
Send Value (Output Data) Send constant value Alphanumeric
ALT Shifted
Command (GUI)
Extended Keypad
F Keys
Numeric Keypad
Send value stored in Parameter Suffix/Prefix Values
Modify (Output Data) Remove Padding Remove all Spaces
Crunch all Spaces
Stop Space Removal
Remove Leading Zeros
Stop Leading Zero Removal
Add Padding Stop Pad Spaces
Pad Spaces Left
Pad Zeros Left
Stop Pad Zeros
Filter Output Data Alphabetic Characters
Custom Character Set
Extended ASCII Codes (128-255)
Non-Printable
Numeric Characters
Special Characters
Whitespace
Repeat Send Action
Replace character
Replace non-printable
Change Input Source Asset Tracking Information
Barcode Data
User Defined String
User Feedback Beep Indication
LED Indication
Vibrate Indication
Rule Set Control Disable/Turn Off Sets 1 to 4
Sets 5 to 8
Enable/Turn On Sets 1 to 4
Sets 5 to 8

General Settings

For every rule in ADF2, there is a General Settings section. This section is used to customize how the rule is built, how Action errors are recovered and special settings such as an optional Custom ASCII Set. The Custom ASCII Set is used by the Barcode Content criterion and the Filter Output Data action.

Legacy ADF1 does not have a general settings section, but the ADF interpreter has default values shown here.

Table 5: List of General Settings Supported by ADF Version

General Settings Sub Action Legacy ADF (ADF1) ADF2
ADF Version Version of ADF Rule Format Always 1 Always 2
Number of Criteria Sections Maximum number of criteria sections in a rule Always 1 Up to 4
Error Recovery Action Ignore N/A Optional
Action Exit Default Default
Action Partial N/A Optional
String Lengths Full Size N/A Default
Compact Size Default Optional
Custom ASCII Set Up to 16 ASCII Values N/A Optional
Data Recovery Restore Input Data upon Action Failure N/A Default
Keep data changes after a rule fails for next rule Default Optional