EBDS Protocol Specification G5 PDF
EBDS Protocol Specification G5 PDF
Revision G5
CONFIDENTIAL PROPERTY
The document and the information contained in it are the confidential property of CPI, Inc.
It must not be copied, duplicated or used in any manner, or trasnmitted to others without
the written consent of CPI, Inc.
Table of Contents
EBDS Protocol Specification ...................................................................................................................... 1
Table of Contents .......................................................................................................................................... 2
1 Change History ...................................................................................................................................... 7
2 Introduction .......................................................................................................................................... 9
2.1 Acronyms and Definitions ............................................................................................................. 9
2.2 Scope ........................................................................................................................................... 10
2.3 Product Icons .............................................................................................................................. 10
2.4 Recommendation / Warning Icons ............................................................................................. 11
2.5 Byte Conventions ........................................................................................................................ 11
3 Overview of EBDS................................................................................................................................ 12
3.1 Varieties of EBDS ......................................................................................................................... 12
3.2 Interfaces .................................................................................................................................... 13
3.2.1 RS-232 ................................................................................................................................. 13
3.2.2 RS-485 ................................................................................................................................. 13
3.2.3 USB ...................................................................................................................................... 13
3.3 Timing Requirements for Communications ................................................................................ 14
3.3.1 Normal (Polled) Mode......................................................................................................... 14
3.3.2 Special Interrupt Mode ....................................................................................................... 15
3.3.3 ACK/NAK Timing Requirements .......................................................................................... 16
3.3.4 ABDS Timing Requirements ................................................................................................ 16
4 EBDS Concepts .................................................................................................................................... 17
4.1 Polling vs. Special Interrupt Mode .............................................................................................. 17
4.1.1 Polling mode ....................................................................................................................... 17
4.1.2 Special interrupt mode ....................................................................................................... 17
4.2 Extended vs. Non-Extended Mode ............................................................................................. 17
4.2.1 Non-Extended Mode ........................................................................................................... 17
4.2.2 Extended Mode ................................................................................................................... 18
4.3 Escrow vs. Non-Escrow mode ..................................................................................................... 18
4.3.1 Escrow Mode....................................................................................................................... 18
4.3.2 Non-Escrow Mode............................................................................................................... 18
4.4 Power Up Policies........................................................................................................................ 19
This document will provide details aimed at both the Gaming market (casino and entertainment) and
the Retail market (Self-checkout, kiosks, and safes).
The following legacy products support EBDS but are not mentioned in this document heavily:
Family Model Description
Series 1000 ZT1200 Discontinued products
Series 3000 LE, RS, EX Discontinued products
The rest of the document will outline the technical details of the EBDS protocol and when using
examples, it will only refer to existing products. The terminology and expected results may not apply
with older hardware.
MULTI Note Escrow Only MEI SC Advance Recycler configured for Multi Note Escrow Mode
Single Note Escrow Only MEI SC Advance Recycler configured for Single Note Escrow Mode
Please note that the BNF field can be assumed included with all CFSC and/or SC Adv components
that support the Retail Code base.
Gaming Only Feature only applies to Gaming Software. CFSC , SC Adv , or SCR Only.
Retail Only Feature only applies to Retail Software. CFSC , SC Adv , or SCR Only.
Incompatible A feature that is incompatible or mutually exclusive.
For example, the value 0xA7 will be broken down into { 0x0A, 0x07 } in order to be transmitted. If
received by the host, it will need to be rebuilt in order to obtain the correct value by using a shift
operation. Assuming ‘reply’ refers to the returned byte array:
Value = reply[0] << 4 | reply[1];
This shifts the most significant value (0x0A) by four bits to generate ‘0xA0’. The ‘or’ operation is then
used in conjunction with the remaining value to get ‘0xA7’.
Acronym Meaning
BDS Bi-Directional Serial Protocol Obsolete
EBDS Enhanced Bi-Directional Serial Protocol
ABDS Addressable Bi-Directional Serial Protocol
EBDS Plus Enhanced Bi-Directional Serial Protocol Plus
The BDS protocol is no longer supported on any current cash handling products. This protocol is
discussed here only to extent needed to point out migration issues.
The EBDS protocol is widely used on Series 2000 as well as legacy Series 1000, 3000 and older
SC-66 models.
The ABDS protocol is supported by Series 3000, Cashflow-SC, and SC Advance platforms with the
RS-485 option installed. This protocol allows multiple cash acceptors to be connected to a single,
multi-drop, host port.
EBDS Plus is similar to EBDS with the additional option of extended note reporting and several
command-oriented extensions to the original omnibus command packet. This represents the
current state of the EBDS protocol
3.2.1 RS-232
The RS-232 interface is supported across all products. It should be noted though that some products
require the use of an adapter harness to be used in this mode. EBDS uses the minimum, three wire,
configuration (GND, TXD, RXD) with no handshaking lines. The data transmission across the line
corresponds to the EIA RS-232 spec, which is not repeated here. The formal specification may be found
in ITU-T Recommendation (formally CCITT Recommendation) V.24. A more useful, if less formal
specification, may be found at the Wikipedia web site under the topic RS-232.
3.2.2 RS-485
The RS-485 interface is a specialized interface used to support the multi-drop features of the ABDS
protocol. It is supported by the RS-485 interface adapter harness of the Series 3000 and by the
Cashflow-SC with the RS-485 Interface Board option. When RS-485 is used, all communications occur
over a single balanced pair data line in a true half-duplex mode. No handshaking lines are used.
3.2.3 USB
The EBDS protocol may also be embedded inside the USB virtual communications port protocol. This
may be accomplished with an RS-232 Virtual Com Port Cable or through the use of the appropriate
harness (for Series 2000) or interface board (for Cashflow-SC). No handshake lines are utilized.
The protocol layers involved in embedding EBDS in USB are covered in publicly available USB specs and
are not covered in this document.
Warning Some USB Virtual Com Cables do not support the data transfer parameters required by EBDS
(9600, 7, E, 1). These cables may not work with an EBDS device. In addition, some of these cables
introduce delays that may disrupt some EBDS operations.
In polled mode, the host system is responsible for ensuring the device is polled frequently and on a
stable interval of time. This table outlines the acceptable ranges for communications.
Parameter Lower Upper Description
Limit Limit
Inter-character 0ms 20ms If the maximum inter-character time is exceeded, the
Timing receiver of the packet should discard the current packet
and resume its search for an STX character.
Peripheral Response 0ms 35ms If the peripheral device has not started to respond within
Time this amount of time after a packet is sent to it, the host
should assume that no reply is going to be sent by the
peripheral.
Polling Interval 50ms 1s This is the rate at which the host should communicate
with the peripheral. The recommended polling interval is
200ms.
Note that failure to properly poll the device at all times
may result in impaired or unexpected operation.
50ms 250ms BNF When a bunch note feeder is installed, a faster
polling rate is required to maintain system performance.
Note that failure to properly poll the device at all times
may result in impaired or unexpected operation.
Peripheral Disable 3s - If the peripheral does not receive a poll from the host
Timeout within this time period, it will disable itself to avoid
continuing to accept money on a system with a disabled
host.
When the peripheral detects an event that requires host attention, it sends a single ENQ (0x05). The
ENQ character will never be sent while a reply is being sent, but it can be sent while a host command is
being sent. When the host receives the ENQ, it should poll the peripheral.
Parameter Lower Upper Description
Limit Limit
Inter-character 0ms 20ms If the maximum inter-character time is exceeded, the
Timing receiver of the packet should discard the current packet
and resume its search for an STX character.
Peripheral Response 0ms 35ms If the peripheral device has not started to respond within
Time this amount of time after a packet is sent to it, the host
should assume that no reply is going to be sent by the
peripheral.
Polling Interval 50ms 30s This is the rate at which the host should communicate
with the peripheral. The recommended polling interval is
1 second.
Note that failure to poll the device will cause it to enter
an error condition and disable itself.
Peripheral Disable 33s - If the peripheral does not receive a poll from the host
Timeout within this time period, it will disable itself to avoid
continuing to accept money on a system with a disabled
host.
ENQ Response Time 0ms 100ms If the host does not respond to the ENQ within the
required time, the peripheral will retry sending the ENQ.
Note that failure to quickly respond to ENQs may result in
impaired or unexpected operation.
ENQ Response 3s - If an ENQ is sent and the host does not reply by this limit,
Timeout the peripheral will disable itself be to avoid continuing to
accept money on a system with a disabled host.
In the normal polling mode, the device will inhibit itself (not accept any notes) if it does not receive a
message within 4 seconds. However, in special interrupt mode, the device will remain in service as long
as it receives polls at least every 30 seconds.
Special Interrupt mode differs significantly in the implementation of the host machines logic. In special
interrupt mode, EBDS adds the ability for the peripheral device to request that the host perform a poll
operation. The host is still required to poll the host on a regular basis, however the time interval can be
much greater compared to polling mode. The device still requires these regular polls in order to ensure
it is in the correct configuration state and that the host is still active. In addition to the regular poll, the
host shall be required to send a poll message when the device detects a significant event. When the
device detects a significant event that requires host attention such as a note at escrow, it sends a single
ENQ (0x05). The ENQ character will never be sent while a reply is being sent, but it can be sent while a
host command is being sent. When the host receives the ENQ, it should immediately poll the peripheral.
Please see Handling ENQs (Special Interrupt Mode) section for more details on ENQs.
Extended note reporting allows for changes in the currency table and provides for much finer control
over the type and orientation of notes accepted. When the device reports a banknote, it will do so by
issuing an extended message. This is unlike the standard omnibus reply that is used in non-extended
mode. The details on the extended message can be found in section: (Subtype 0x02) Extended Note
Specification Message (7.5.2)
Incompatible Non-Escrow mode is incompatible with the power up policies and will not enable until
the power up is complete. If there are any exceptional cases during power up (section 4.4), then the
host must be prepared to handle any escrow related events that may occur.
Incompatible This mode will not work with Barcodes. If barcodes are enabled in the device, then
they will enter the escrow position and wait for the host to explicitly stack or return them.
SCR Obsolete This mode is not supported for the SCR product line.
Recommended If there is any confusion to these policies, Pup-A is the recommended default policy.
The behavior of the policies is explained in more detailed in the following sections, but here a quick
overview of the intent behind them:
Pup-A is designed for higher uptime. The host needs to maintain the value of the note after the
escrow position and the device will leave it up to the host to accept/reject any document at the
escrow position.
Pup-B and C are designed for higher security. The devices will go out of service if the note is at a
specified position and will not give the host the chance to process this document.
There are three distinct positions in which the note can be during the power up procedure. These
positions are “pre-escrow”, “escrow” and “post-escrow”. They are described here:
Pre-Escrow: Defined as any point before the note reaches escrow.
Escrow: The document has been validated by the device and was waiting for the host to inform
the device of the action for the document (stack or return) but did not receive an action from
the host. It is also possible that the device did receive an action but was unable to begin that
action when power was lost.
Post-Escrow: At this state, the host has already told the device to stack the document and it can
be assumed that the document is no longer retrievable.
The next three sections describe each of the power up policies and the operation of the device in each
of the three possible positions for the document. These conditions are independent of the Escrow Mode
in which the host has configured the device to operate; default behavior is for Escrow Mode (section
4.3).
4.4.3 PUP-B
Pre-Escrow: The document will be automatically rejected by the device. The host will be
informed of this rejection.
Escrow: The device will go out of order and hold the document at the escrow position.
Post-Escrow: The procedure will complete and the document will be stacked. If the document
was a banknote, the host will be informed of the value of the note. If the document is not a
banknote, it will be stacked and no value will be reported to the host.
4.4.4 PUP-C
Pre-Escrow: The document will be automatically rejected by the device. The host will be
informed of this rejection.
Escrow: The device will go out of order and hold the document at the escrow position.
Post-Escrow: The procedure will complete and the document will be stacked. However, no value
will be reported to the host.
With policies A and C, it is required for the host to store the value of the note when it reaches the
Escrow position. This way, the host can accurately determine the value of the note should there be a
temporary power loss.
4.4.6 PUP-R
Pre-Escrow: The document will be automatically rejected by the device. The host will be
informed of this rejection.
Escrow: The device will re-issue the escrow event and it will have the correct value (if any). The
device will wait for a command from the host to either stack or return the document.
Post-Escrow: Return the document to the escrow position but report no value. The device will
wait for a command from the host to either stack or return the document.
Inventoried Note: Device will complete the movement of the document and report the result to
the host.
Dispensing - Pre-Dispensed Event: Return the note to the recycler.
Dispensing - Post-Dispensed Event: Complete the movement and report the result to the host.
SCR
Action on power up based on document position Dispensing
PUP
Pre- Escrow Post Inventoried Pre- Post-
Mode
Escrow Escrow Note Dispensed Dispensed
PUP R Reject Remain at Return doc to Complete Return Complete
Document Escrow. escrow. movement document to movement
Reports value. (No value) and report to recycler and report
host to host
PUP S Reject Remain at Return doc to Complete Return If in bill
Document Escrow. escrow. movement document to path, return
Reports value. (No value) and report to recycler doc to
host escrow.
(No value)
4.6.1 Barcode
CFSC SC Adv
A barcode is a bank note sized piece of paper with a barcode pattern in the center of the document. The
barcode value can be read and presented to the host application for acceptance or rejection. It is up to
the host to determine the monetary value of the barcode. This is primarily used in gaming applications.
Note: Not all versions of hardware support barcodes.
4.6.2 Bookmarks
CFSC SC Adv S2K
Bookmarks are meant to be placeholders for someone to re-visit at a later time. For example, if there is
a dispute with a customer, the operator could insert a bookmark that he could refer to at a later time
when it is feasible to bring the machine down. Bookmarks come in two different types. A standard
bookmark is much smaller than a valid bank note and must fall within a certain size range. Once it meets
these size requirements, it is stacked with no value. This bookmark message is described in section
7.1.3. A non-standard bookmark can be enabled in some software and is discussed further in the
(Subtype 0x0D) Advanced Bookmark Mode section (7.5.9).
Size limitations for standard bookmarks are provided in the following table.
Product Bookmark Size
CFSC SC Adv Bookmark dimensions are 2.6” by 4”
S2K Bookmark dimensions are 2.6” by 5”
4.7 Calibration
S2K CFSC SC Adv SCR
Calibration is the act of configuring the sensors of the device. Generally there is no need for customers
to perform this operation and is only mentioned for completeness. The process will require a special
MEI approved calibration document be inserted during this mode. This is typically performed by repair
centers after critical parts have been replaced. The omnibus command has support for putting the
device in this mode. Section (Type 4) The Calibrate Command.
If the device powers up into this mode, then that means either:
1. A previous attempt to flash firmware was unsuccessful.
2. A portion of the memory has become corrupt.
The only way to exit this mode is to download correct firmware.
Disabling the device is also covered in Appendix A - Disabling the Device (section 8.1). This section shows
the detailed protocol traces for disabling a device.
Warning It is recommended that the host disable a device only if it is in the idle state (not processing
a note). If the host tells the device to disable after the device has started processing a note, the host
shall still be required to handle this document. The device will not automatically return the document.
Disabling the device in extended mode is very similar to disabling in non-extended mode. The host
needs to disable (set to ‘0’) all bits in the first data byte of the standard omnibus command. This is
detailed in section 7.1.1.1. In addition, the features to accept barcodes (7.1.1.3) and bookmarks (7.1.3)
must be disabled as well. When all of these conditions are met, the device will no longer draw in any
documents. To re-enable acceptance to all notes (provided the host did not inhibit specific notes), the
host needs only to enable barcodes, bookmarks or set the first data byte to a non-zero value.
MULTI Note Escrow Only Multi-note escrow allows the device to store several (up to a configured
maximum) documents in a "temporary escrow storage" location. The documents are held on the
recycler until the host confirms that all documents can be "committed" to the final storage location;
which may be the cassette or recycler. The advantage of a multi-note escrow system is that all of the
original documents in a session can be returned to the customer if the session is canceled.
Single Note Escrow Only Single-note escrow is faster than multi-note escrow and has a simplified
document processing flowchart.
In the previous image, the host polls the device until it receives a response. Once the devices starts
communicating with the host, the host can determine if it is in a special download mode or if it can be
begin normal operations. (Flash Download section 7.3).
“Set up Device” refers to the necessary steps that may be specific to the application. Some common
examples are to query the device capabilities and set up the note table if using extended note mode.
It is required that the host retains the value of the note at escrow (in non-volatile memory) because of
reasons related to the power loss during operations. Please review the Power Up Policies (4.4) section
thoroughly.
The Stacked event is a very important event and requires host acknowledgement from the system (in
the form of another poll afterwards). In the rare situation that power is lost to the device before
acknowledgment of this event, the device will re-issue the stacked event because it is not guaranteed
SCR The SCR product adds a new event called "Dispensed" that acts in a very similar manner to the
"Stacked" event. This event must be acknowledged by the host and if there is a power loss before this
acknowledgement is received by the device, the device will re-issue the dispensed event.
When the device is in the idle state, the host can request the note table by issuing a series of special
extended messages ((Subtype 0x02) Extended Note Specification Message section 7.5.2). These
messages contain an index value and this value should be incremented (starting at 1) for each
subsequent command until the device replies with a null value. In this context, a null value is a message
that contains no useful note data; all data bytes will be zeroed out. Each of the device’s responses can
be parsed to retrieve the full note table, one index at a time. A detailed example of this logic is provided
in a protocol trace available in Appendix A – Requesting the Note Table.
Recommended It is recommended that the host does not send these commands while the device is
processing a document. This can result in confusion for the host when it comes time to give credit for a
stacked note or document. The recommended practice is to include this operation as part of the host’s
tasks to perform after the device has powered up. The host should also disable the device during this
operation to prevent any customers from inserting documents. The section Inhibiting The Device (4.9)
describes how to disable the device if extended note reporting mode is enabled.
It can be seen that the most liberal setting is used by the acceptor. In this situation, the only way for the
host to have complete control over the orientation of accepted bank notes is to have the devices
internal settings configured for 1-way acceptance. Conversely, if it desired to have control over the
orientation of notes by means of the devices internal settings, the EBDS interface will have to be set to
1-way acceptance.
For those devices that support extended note reporting, it is possible for the host to attain a greater
level of control over the orientation of accepted notes. When the notes arrive at escrow, the host can
examine the orientation field (see (Subtype 0x02) Extended Note Specification Message) in the
extended note data and return any notes that do not correspond to the desired orientation. In this
mode, the host system has the final say as to the suitability of the note.
SCR Recycling systems that have the ability to pay out banknotes also need the ability to issue credit to
the user. The counterpart to the stacked event is the dispensed event. Once the dispensed event is
issued, the host can safely adjust the customer's credit appropriately.
Every significant event is represented by one ENQ. Therefore it is possible for the device to send an
additional ENQ message right after responding to a host’s poll because it had a second event that it
needs to tell the host about. The following table outlines the significant events that will result in the
device sending an ENQ.
CFSC SC Adv
* There is an additional ENQ that will be sent after a stacked message is sent. This is required to ensure
the host has properly received the message and issued credit for the document. The reasoning behind
the behavior is detailed in the Issuing Credit section (5.2.4).
Warning
An ENQ will not be sent out if a significant event occurs on the very first poll. This is because the device
is not configured for special interrupt mode until it has received the first message from the host.
Jammed
Failure condition detected
Cashbox Removed or Full
Device is in the middle of dispensing or floating documents
It is very important to realize that the values used for STX and ETX, namely 0x02 and 0x03 are NOT
unique within the packet structure. It is possible for any of the data bytes or the check byte to be one of
these values. Therefore it is recommended that the host should use the Length byte to determine when
the message packet ends and verify with the Checksum.
6.1.2 ABDS
ABDS differs slightly in the packet layout from the standard EBDS message by adding a new byte that is
used for the address.
The format of an ABDS command from the host is:
Byte 0 1 2 3..5 6 7 8
Name STX Len CTL Data Bytes ADR ETX CHK
Value 0x02 0x09 nn nn…nn nn 0x03 zz
Bytes Covered by CHK
Packet Payload
Device type message routing is a method of sending commands to different sorts of devices in a single
system. Packets sent by the host are sent to specific types of devices. Devices ignore messages not
addressed to them. In reply packets, devices transmit their device type back to the host for
confirmation.
The device routing of EBDS is encoded by the control byte. The device type field in this byte is used to
identify the type of device intended to receive a command and to identify the type of device generating
the reply.
Bit 6 Bit 5 Bit 4 Value When sent by the host When sent by the device
0 0 0 0 Reserved Reserved
0 0 1 1 Standard Omnibus Command Not Used
0 1 0 2 Not Used Omnibus Reply
0 1 1 3 Omnibus w/ Bookmark Mode Not Used
1 0 0 4 Calibrate Request Calibrate Reply
1 0 1 5 Firmware Download Request Firmware Download Reply
1 1 0 6 Auxiliary Command Request Auxiliary Command Reply
1 1 1 7 Extended Commands Extended Command Reply or
Extended Omnibus Reply
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x08 0x1n nn nn nn 0x03 zz
The following sub sections describe each data byte in detail. The data may vary and is represented by
the ‘nn’. Finally, the checksum is denoted with a ‘zz’. This convention will be used throughout the
document.
Note that denominations may also be disabled through the configuration of the device (by either
configuration coupon or on some models, “DIP” switches). In that case, the note will remain disabled,
even if the EBDS command to enable is sent.
Omnibus Command – Data Byte 0 (Non-extended Note Reporting)
Bit # Name Description
Value
0 Denom1
1 Denom2 0 Disable Denomination n
2 Denom3
3 Denom4
4 Denom5
5 Denom6 1 Enable Denomination n
6 Denom7
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X2n nn nn nn nn nn nn 0x03 zz
The control byte is discussed in section 6.4 and omitted from here. The following sub sections will
describe each data byte in detail.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x08 0x3n nn nn nn 0x03 zz
The control byte defines the message type 0x3. The rest of the message is processed exactly like the
standard (Type 1) Omnibus Command.
A bookmark is a piece of paper stacked by the acceptor (with zero value) as an event marker in the cash
box. For example, if there was a dispute with a customer, a technician could insert a bookmark and keep
the device in service and revisit the issue at a later time. This is not to be confused with the EBDS
message that supports an advanced bookmark which supports looser restrictions on the bookmark size.
The bookmark size restrictions for this mode are listed in the following table.
Product Bookmark Size
CFSC SC Adv Bookmark dimensions are 2.6” by 4”
S2K Bookmark dimensions are 2.6” by 5”
Warning : Leaving bookmark enabled may cause folded bank notes to be treated as bookmarks
resulting in lost credit to the customer. In addition, some currencies have valid bank notes that are very
close in dimension to a bookmark. This raises the risk of a valid note being “stolen” (not credited to the
customer).
Modern devices contain self-calibration routines that continually adjust and tune the recognition sub-
system. Thus field calibration is seldom necessary. However, if a calibration document is required, it
should be obtained from an authorized service center.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x08 0X4n nn nn nn 0x03 zz
The acceptor responds with a standard omnibus reply with a CTL value of 0x4n.
Device Calibrate Reply
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X4n nn nn nn nn nn nn 0x03 zz
When the acceptor is ready to begin the calibration process, it will set the Calibration bit in Data1, Bit 6
(see section 7.1.2.2 Omnibus Reply – Data Byte 1). After this bit is set the host should return to polling
via the standard omnibus command.
At this point the calibration document can be inserted into the device. The document will be drawn in
and returned. When removed from the device, the calibration procedure is complete. The acceptor will
indicate that the calibration was successful by resetting itself. If the calibration fails, the device remains
in calibration mode until manually reset.
Warning A calibrate command should not be attempted if the device indicates that its status is
anything other than “Idling” (see section 7.1.2.1 Omnibus Reply – Data Byte 0).
Warning SCR The SCR device will only support this mode if there are no notes in the system
(recyclers must be empty).
Download mode is somewhat different in approach than other modes. Normally, transactions are sent
at a rate that allows events from the device to be processed without using up a lot of bandwidth. This is
not the case in download mode. In download mode, a great deal of data needs to be sent to the device.
Thus it is expected that the host shall send data as rapidly as the protocol allows. Once in download
mode, the host has the option to switch to a faster baud rate to transmit packets at a faster rate.
Another consideration is the fact that many devices are unable to process communications traffic while
they are in the midst of programming their flash memory. To allow for this, the response timeout for
device replies should be increased from 50ms to 200ms.
The download process has three distinct phases: Starting, Downloading and Finishing.
Recommended
For automated download procedures that are based on a specific device properties (ex. firmware
download is model number specific), it is recommended that the host query and store these specific
device properties in non-volatile memory before beginning the download process. This guards against
the inability of the host to query specific device properties in the event that a download is interrupted.
Deprecated
The ABDS protocol, while deprecated, does support the new fast download algorithm.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x08 0X1n 0x00 0x00 0x00 0x03 zz
This is a standard omnibus command with all acceptance and options off. The ‘n’ in the CTRL byte
represents the correct ACK/NAK toggle. There are two possible responses that may occur. If the device is
not currently in download mode, a standard omnibus reply will be sent. If the device is already in
download mode, the following response will be sent:
Device Initial Poll Reply – Already in Flash Download Mode
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Pkt # Pkt # Pkt # Pkt # ETX CHK
Value 0x02 0x09 0X5n 0x0n 0x0n 0x0n 0x0n 0x03 zz
A 16 bit packet number is encoded, four bits at a time, in bytes 3 through 6 (high nibble first). If the
device is already in downloading mode then the starting phase is completed. Otherwise it shall be
necessary to place the device into downloading mode. This is accomplished with the Start Download
command. This command is shown below:
Host Start Download Command
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x08 0X5n 0x00 0x00 0x00/10 0x03 zz
The host command shall start the device in Download mode and data 2 contains the option of either
being all zeros or having the value 0x10 depending on whether or not extended note mode is supported
with the device configuration. (See 4.2.2 for more details on extended note mode option).
Device Start Download Reply
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X5n nn nn nn 0x00/02 nn nn 0x03 zz
Data 3 contains the status of the device. If the Flash Download bit (denoted by 0x02) is not set, the
device is not yet in download mode and the Start Download command must be resent. When that bit is
set, the device is expecting the host to enter the downloading phase of the download process.
The host will establish the session by requesting a baud rate change using the following command:
Host Request Baud Rate Change
Byte 0 1 2 3 4 5
Name STX LEN CTRL Data 0 ETX CHK
Value 0x02 0x08 0X5n baud 0x03 zz
Data 0 contains the requested Baud rate based on the following enumeration
Data 0 Description
0x01 Baud Rate 9600; Data Bits 8, Parity None; Stop Bit 0ne
0x02 Baud Rate 19,200; Data Bits 8, Parity None; Stop Bit 0ne
0x03 Baud Rate 38,400; Data Bits 8, Parity None; Stop Bit 0ne
0x04 Baud Rate 115,200; Data Bits 8, Parity None; Stop Bit 0ne
Other Reserved for Future Use.
If supported, the device will respond back to the command with an ACK (toggle bits will be the same)
and the Data 0 response will equal the requested value. (ex. if the host requests 19,200, the device will
respond with 19,200). If the device supports fast download but cannot support the requested baud rate,
the device will NAK the request but transmit the maximum supported value (ex. Host requests 115,200
on SC Advance unit, device will NAK and return 38,400).
Device Reply - Baud Rate Change
Byte 0 1 2 3 4 5
Name STX LEN CTRL Data 0 ETX CHK
Value 0x02 0x06 0X5n baud 0x03 zz
Warning If the device firmware does not support the fast serial download feature, the device will not
respond to the baud rate change request. This means the host will be required to perform the download
using the original algorithm.
Warning The host should NOT switch the serial port settings until the device has acknowledged the
request to the change baud rate command.
Warning The device will automatically revert back to the original serial port settings if no command is
received within 1 second. This applies to any point during the download process. If this occurs, the
device will remain in flash download mode.
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Pkt # Pkt # Pkt # Pkt #
Value 0x02 0x49 0X5n 0x0n 0x0n 0x0n 0x0n
7 8 69 70 71 72
Data 1 Data 1 Data 32 Data 32
ooo ETX CHK
Hi Lo Hi Lo
0x0n 0x0n 0x0n 0x0n 0x03 zz
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Pkt # Pkt # Pkt # Pkt # ETX CHK
Value 0x02 0x09 0X5n 0x0n 0x0n 0x0n 0x0n 0x03 zz
The Packet Number reported by the device is the last successfully received packet number.
The ACK/NAK of the reply is important.
If the device ACKs the packet, the host should step to the next packet.
If the device NAKs the packet, then the host needs to resynchronize with the device. This is
accomplished by changing the block number to the value contained in the reply plus one. An
example is shown below.
Warning The file is only required to be a multiple of 32 bytes long therefore it is possible for the final
packet to only contain the remaining 32 data bytes. Do not pad the message with empty values.
Byte 0 1 2 3 4
Name STX LEN CTRL Pkt # Pkt #
Value 0x02 0x47/0x27 0X5n 0xnn 0xnn
5 6 67 68 69 70
Data 0 Data 1 ooo Data 63 Data 64 ETX CHK
0xnn 0xnn 0xnn 0xnn 0x03 zz
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Pkt # Pkt # ETX CHK
Value 0x02 0x07 0X5n 0xnn 0xnn 0x03 zz
The Packet Number reported by the device is the last successfully received packet number in little
endian format.
The ACK/NAK of the reply is important.
If the device ACKs the packet, the host should step to the next packet.
If the device NAKs the packet, then the host needs to resynchronize with the device. This is
accomplished by changing the block number to the value contained in the reply plus one.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n nn nn nn 0x03 zz
The Command field is the command value for the operation and Data A and Data B are arguments to
that command and are not used by every command. There is no configuration data transmitted in the
command and likewise, no status data supplied by the device as seen below.
Device Auxiliary Message Reply
Byte 0 1 2 3 4 5 6 7 8 9 10
Name Aux Aux Aux Aux Aux Aux
STX LEN CTRL ETX CHK
Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0B 0X6n nn nn nn nn nn nn 0x03 zz
Since status information is never contained in these messages, it is recommended that the host never
overload the device with many consecutive Auxiliary commands. This is especially important when
processing documents.
Please note that if the command is not supported by the device, it is possible that the device will
respond back with a response for the (Subtype 0x00) Query Software CRC command.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x00 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL CRC 1 CRC 2 CRC 3 CRC 4 N/A N/A ETX CHK
Value 0x02 0x0B 0X6n 0x0n 0x0n 0x0n 0x0n 0x00 0x00 0x03 zz
The 16 bit CRC data is sent in bytes 3 through 6, four bits at a time. This may be extracted as shown
below.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x01 0x03 cc
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Total 1 Total 2 Total 3 Total 4 Total 5 Total 6 ETX CHK
Value 0x02 0x0B 0X6n 0x0n 0x0n 0x0n 0x0n 0x0n 0x0n 0x03 zz
The Total Value is sent in bytes 3 through 8. This may be extracted as shown below.
If the host knows that the cash box was removed while the system was off, it can use the (Subtype 0x03)
Clear Cashbox Total command to clear the current stored total.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x02 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Reset 1 Reset 2 Reset 3 Reset 4 Reset 5 Reset 6 ETX CHK
Value 0x02 0x0B 0X6n 0x0n 0x0n 0x0n 0x0n 0x0n 0x0n 0x03 zz
The Reset Count is sent in bytes 3 through 8. This may be extracted as shown below.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x03 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data Data Data Data Data Data ETX CHK
Value 0x02 0x0B 0X6n 0x00 0x00 0x00 0x00 0x00 0x00 0x03 zz
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x04 0x03 zz
The data returned by the device takes the form of an ASCII string that is either 20 bytes long or is
terminated by the null character (0x00). The characters after the first null (0x00) are not guaranteed to
be null (0x00). The reply packet is shown below:
Device Query Acceptor Type Reply
Byte 0 1 2 3 4 22 23 24
Name STX LEN CTRL Data 0 Data 1 ooo Data 19 ETX CHK
Value 0x02 0x19 0X6n nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x05 0x03 zz
The data returned by the device takes the form of an ASCII string that is either 20 bytes long or is
terminated by the null character (0x00). The characters after the first null (0x00) are not guaranteed to
be null (0x00). The reply packet is shown below:
Device Query Acceptor Serial Number Reply
Byte 0 1 2 3 4 22 23 24
Name STX LEN CTRL Data 0 Data 1 ooo Data 19 ETX CHK
Value 0x02 0x19 0X6n nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x06 0x03 zz
The data returned by the device takes the form of an ASCII string that is 9 bytes long. The reply packet is
shown below:
Device Query Acceptor Boot Part Number Reply
Byte 0 1 2 3 4 11 12 13
Name STX LEN CTRL Data 0 Data 1 ooo Data 8 ETX CHK
Value 0x02 0x0E 0X6n nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x07 0x03 zz
The data returned by the device takes the form of an ASCII string that is 9 bytes long. The reply packet is
shown below:
Byte 0 1 2 3 4 11 12 13
Name STX LEN CTRL Data 0 Data 1 ooo Data 8 ETX CHK
Value 0x02 0x0E 0X6n nn nn nn 0x03 zz
The part number is composed of a project number (5-6 digits) and version number (3 digits) with an
optional Check sum digit in the middle. Please see the following table for expected values.
Project Check Version Description
Number Digit (3 Bytes)
(5-6 Bytes) (0-1 Bytes)
Type 1 Application Part Number (Requires Check
28000…28599
Digit) (CFSC Only)
286000…289999 Type 2 Application Part Number (No Check digit)
Check digit (Not applicable for Type 2 Application
0..9
Part Numbers) (CFSC Only)
000..999 Formatted as V1.23
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x08 0x03 zz
The data returned by the device takes the form of an ASCII string that is either 32 bytes long or is
terminated by a non-printable character (0x00). The reply packet is shown below.
Device Query Variant Name Reply
Byte 0 1 2 3 4 34 35 36
Name STX LEN CTRL Data 0 Data 1 ooo Data 31 ETX CHK
Value 0x02 0x25 0X6n nn nn nn 0x03 zz
The names of the currencies supported are represented as three character ISO codes. If more than one
currency is supported, they are separated by underscore “_” characters. For example “USD_CAD” would
signify a mixed U.S.A./Canadian bill set. For further information on currency descriptors, please see
http://en.wikipedia.org/wiki/ISO_4217.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x09 0x03 zz
Byte 0 1 2 3 4 11 12 13
Name STX LEN CTRL Data 0 Data 1 ooo Data 8 ETX CHK
Value 0x02 0x0E 0X6n nn nn nn 0x03 zz
The part number is composed of a project number (5-6 digits) and version number (3 digits) with an
optional Check sum digit in the middle. Please see the following table for expected values.
Project Check Version Description
Number Digit (3 Bytes)
(5 Bytes) (1 Byte)
49000…49999 (CFSC)Variant part number
51000…51999 (SC Adv)Variant part number
0..9 Check digit
000..999 Formatted as V1.23
Warning Retail Only If the device was loaded with a combined file (a file that contains both the
application and the variant) this command will return the part number for the combined file, not the
actual part number of the underlying variant component. In this case, (Subtype 0x0F) Query Acceptor
Variant ID can be used to retrieve the part number of the variant component.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x0A 0x03 zz
Byte 0 1 2 3 10
Name STX LEN CTRL Field 1.0 ooo Field 1.7
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
x-1 x
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
The field data is laid out according to the following rules for the three products:
CFSC SC Adv
Field Size in Data Description
Number Bytes Width
1 8 32 Data Map ID. The revision of data reporting in this command,
Query Acceptor Audit QP Measures and Query Acceptor Audit
Performance Measures.
0 – The initial revision.
2 8 32 Total Operating Hours
3 8 32 Total Motor Starts
4 8 32 Total Documents Reached Escrow Position
5 8 32 Total Notes Recognized
6 8 32 Total Notes Validated
SCR
Field Size in Data Description
Number Bytes Width
1 8 32 Data Map ID. The revision of data reporting in this command,
Query Acceptor Audit QP Measures and Query Acceptor Audit
Performance Measures.
0 – The initial revision.
2 8 32 Total Operating Hours
3 8 32 Total Motor Starts
4 8 32 Total Documents Reached Escrow Position
5 8 32 Total Notes Recognized
6 8 32 Total Notes Validated
7 8 32 Total Notes Stacked to Recycler
8 8 32 Total Notes Stacked to Cashbox
9 8 32 Total Notes Floated Down
10 8 32 Total Notes Dispensed
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x0B 0x03 zz
This data is formatted as an array of 16-bit integers where each integer is nibble encoded as four
extended data bytes. The length of this message can be variable depending on the device. The returned
data takes the following form:
Device Query Acceptor Audit QP Measures Reply
Byte 0 1 2 3 10
Name STX LEN CTRL Field 1.0 ooo Field 1.3
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
x-1 x
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
The field data is laid out according to the following rules for the three products:
CFSC SC Adv
Field Size in Data Description
Number Bytes Width
1 4 16 Last 100 notes acceptance rate.
2 4 16 Total Motor Starts.
3 4 16 Total Banknotes Stacked.
4 4 16 Total Documents Reached Escrow Position
5 4 16 Total Banknotes Passed Recognition
6 4 16 Total Banknotes Passed Validation
7 4 16 Total Recognition Rejections.
8 4 16 Total Security Rejections.
9 4 16 Total Orientation Disabled Rejections.
10 4 16 Total Document Disabled Rejections.
11 4 16 Total Fast Feed Error Rejections.
12 4 16 Total Documents Inserted While Disabled.
13 4 16 Total Host Return Document Rejections.
14 4 16 Total Barcodes Decoded.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x0C 0x03 zz
This data is formatted as an array of 16-bit integers where each integer is nibble encoded as four
extended data bytes. The length of this message can be variable depending on the device. The returned
data takes the following form:
Device Query Acceptor Audit Performance Measures Reply
Byte 0 1 2 3 10
Name STX LEN CTRL Field 1.0 ooo Field 1.3
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
x-1 x
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
The field data is laid out according to the following rules for the three products:
SCR
Field Size in Data Description
Number Bytes Width
1 4 16 Total Security Events
2 4 16 Total Security Rejections
3 4 16 Total of All Types of Jams
4 4 16 Total Jam Recovery Efforts
5 4 16 Total number of Out of Service conditions
6 4 16 Total number of Out of Order conditions
7 4 16 Total number of Operating Hours
8 4 16 Total number of docs greater than maximum allowable length
9 4 16 Total number of documents less than minimum allowable length
10 4 16 Total number of documents that failed to reach escrow position
11 4 16 Total number of Calibrations
12 4 16 Total number of Resets
13 4 16 Total number Host Resets
14 4 16 Total number of Flash Download attempts
15 4 16 Total number of Cassette Full conditions
16 4 16 Total number of Cassette Removed conditions
17 4 16 Total number Out of Service for Jammed
18 4 16 Total number Out of Service for Jammed on Reset
19 4 16 Total number Out of Service for Recycler Opened
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x0D 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Cap 0 Cap 1 Cap 2 Cap 3 Cap 4 Cap 5 ETX CHK
Value 0x02 0x0B 0X6n nn nn nn nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x0E 0x03 zz
The data returned by the device takes the form of an ASCII string that is 9 bytes long. The reply packet is
shown below:
Device Query Acceptor Application ID Reply
Byte 0 1 2 3 4 11 12 13
Name STX LEN CTRL Data 0 Data 1 ooo Data 8 ETX CHK
Value 0x02 0x0E 0X6n nn nn nn 0x03 zz
The part number is composed of a project number (5-6 digits) and version number (3 digits) with an
optional Check sum digit in the middle. Please see the following table for expected values.
Project Check Version Description
Number Digit (3 Bytes)
(5-6 Bytes) (0-1 Bytes)
Type 1 Application Part Number (Requires Check
28000…28599
Digit) (CFSC Only)
286000…289999 Type 2 Application Part Number (No Check digit)
Check digit (Not applicable for Type 2 Application
0..9
Part Numbers) (CFSC Only)
000..999 Formatted as V1.23
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x0F 0x03 zz
The data returned by the device takes the form of an ASCII string that is 9 bytes long. The reply packet is
shown below:
Device Query Acceptor Variant ID Reply
Byte 0 1 2 3 4 11 12 13
Name STX LEN CTRL Data 0 Data 1 ooo Data 8 ETX CHK
Value 0x02 0x0E 0X6n nn nn nn 0x03 zz
The part number is composed of a project number (5-6 digits) and version number (3 digits) with an
optional Check sum digit in the middle. Please see the following table for expected values.
Project Check Version Description
Number Digit (3 Bytes)
(5 Bytes) (1 Byte)
49000…49999 (CFSC)Variant part number
51000…51999 (SC Adv)Variant part number
0..9 Check digit
000..999 Formatted as V1.23
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x10 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name Failure
STX LEN CTRL Present Status N/A N/A N/A ETX CHK
Code
Value 0x02 0x0B 0X6n 0x00/01 0x00/01 0xnn 0x00 0x00 0x00 0x03 zz
The following table can be used to interpret the Present, Status, and Failure code bytes:
Name Value Meaning
0 A BNF is not detected.
Present 1 A BNF is detected.
Other Reserved
0 OK
Status 1 An error has been detected
Other Reserved
0x00 No Failure (Or unknown failure if error detected)
0x01 Motor Stall
0x02 Cartridge Removed
Failure Code 0x03 Feed Error 1 (Stub out)*
0x04 Feed Error 2 (Stub out – Covered Progress Sensor)*
0x05 Too Many Rejects
Other Reserved
The Failure code byte was added at a later time so it may not be functional in older versions of
firmware. In cases where the firmware does not support the failure code byte, the device will always
respond with 0x00 for this value.
It is important to note that the device will NOT send any message to the host if the BNF status changes.
The burden is on the host to regularly query the BNF status in order to capture any change.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00/01/02/03 0x00 0x11 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X6n 0x00 0x00 0x00 0x00 0x00 0x00 0x03 zz
Note: Under some conditions, the device may perform a soft reset after this command.
7.4.19 (Subtype 0x12) Query Acceptor Audit Life Time Totals Extended
SC Adv SCR
This command is used to return the extended life time audit data kept on certain key operating data.
The query acceptor audit life time totals command takes the form:
Host Query Acceptor Audit Life Time Totals Extended Command
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x12 0x03 zz
This data is formatted as an array of 32-bit integers where each integer is nibble encoded as eight
extended data bytes. The length of this message can be variable depending on the device. The data
takes the following form:
Device Query Acceptor Audit Life Time Totals Extended Reply
Byte 0 1 2 3 10
Name STX LEN CTRL Field 1.0 ooo Field 1.7
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
LL-2 LL-1
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
SCR
Field Size in Data Description
Number Bytes Width
1 8 32 Total Banknotes Stacked
2 8 32 Total Barcode Vouchers Decoded
3 8 32 Total Barcode Vouchers Stacked
4 8 32 Total Value Coupons Recognized
5 8 32 Total Value Coupons Stacked
6 8 32 Total Other Docs Recognized
7 8 32 Total Other Docs Stacked
8 8 32 Total Calibrations
9 8 32 Total Downloads Requested
10 8 32 Audit Last Cleared
11 8 32 Last Calibration
12 8 32 Last Download
13 8 32 Last Audit Retrieval
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x13 0x03 zz
This data is formatted as an array of 32-bit integers where each integer is nibble encoded as eight
extended data bytes. The length of this message can be variable depending on the device. The returned
data takes the following form:
Device Query Acceptor Audit QP Measures Extended Reply
Byte 0 1 2 3 7
Name STX LEN CTRL Field 1.0 ooo Field 1.3
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
LL-2 LL-1
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
The field data is laid out according to the following rules for the two products:
SC Adv SCR
Field Size in Data Description
Number Bytes Width
1 8 32 Total Motor Starts.
2 8 32 Total Documents Stacked.
3 8 32 Total Documents Reached Escrow Position
4 8 32 Total Documents Passed Recognition
5 8 32 Total Documents Passed Validation
6 8 32 Total Barcodes Decoded
7 8 32 Total Documents Reject for Other Reason
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x14 0x03 zz
This data is formatted as an array of 32-bit integers where each integer is nibble encoded as eight
extended data bytes. The length of this message can be variable depending on the device. The returned
data takes the following form:
Device Query Acceptor Audit Performance Measures Extended Reply
Byte 0 1 2 3 7
Name STX LEN CTRL Field 1.0 ooo Field 1.3
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
LL-2 LL-1
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
The field data is laid out according to the following rules for the two products:
SC Adv
Field Size in Data Description
Number Bytes Width
1 8 32 Total Jammed then Returned to Service
2 8 32 Last Out of Service Condition
3 8 32 Last Out of Order Condition
4 8 32 Total resets
5 8 32 Total BNF Stub-outs
6 8 32 Total BNF Obstructed Stub-outs
7 8 32 Total BNF Number of Bunches
8 8 32 Total BNF Motor Stalls
9 8 32 Total BNF Motor Stall Cartridge Recoveries
10 8 32 Total BNF Motor Stall From Recoveries
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x15 0x03 zz
The data returned by the device takes the form of an ASCII string that is either 16 bytes long or is
terminated by space character (0x20). The reply packet is shown below:
Device Query Asset Number Reply
Byte 0 1 2 3 4 18 19 20
Name STX LEN CTRL Data 0 Data 1 ooo Data 15 ETX CHK
Value 0x02 0x15 0X6n nn nn nn 0x03 zz
Recommended After reading this section, please see the appendix (Using Type 6 Audit Commands
(0x16, 0x17, 0x18, 0x19)) for an example that shows the proper use of this command.
Host Query Acceptor Audit Total Documents Reporting Structure Command
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x16 0x03 zz
The response contains 4 data bytes that each represents a specific configuration for the other messages.
The response is shown here:
Device Query Acceptor Audit Total Documents Reporting Structure Reply
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X6n nn nn nn nn 0x00 0x00 0x03 zz
Recommended After reading this section, please see the appendix (Using Type 6 Audit Commands
(0x16, 0x17, 0x18, 0x19)) for an example that shows the proper use of this command.
Host Query Acceptor Audit Total Documents Recognized Command
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n nn nn 0x17 0x03 zz
Please refer to (Subtype 0x16) Query Acceptor Audit Total Documents Reporting Structure for more
details on how to set up this command in order to retrieve the desired fields.
The device will respond back with a message that has the following structure.
Device Query Acceptor Audit Total Documents Recognized Reply
Byte 0 1 2 3 3+(Z-1)
Name STX LEN CTRL Field 1.0 ooo Field 1.(Z-1)
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
LL-2 LL-1
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
Recommended After reading this section, please see the appendix (Using Type 6 Audit Commands
(0x16, 0x17, 0x18, 0x19)) for an example that shows the proper use of this command.
Host Query Acceptor Audit Total Documents Validated Command
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n nn nn 0x18 0x03 zz
Please refer to (Subtype 0x16) Query Acceptor Audit Total Documents Reporting Structure for more
details on how to set up this command in order to retrieve the desired fields.
Byte 0 1 2 3 3+(Z-1)
Name STX LEN CTRL Field 1.0 ooo Field 1.(Z-1)
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
LL-2 LL-1
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
To format this message correctly, the field width must be known (generally = 0x04) and it is returned
during the report structure message as Data3. In addition, the set size should also be known (Data2
from the reporting structure response)
Z: Field data width. (Data3)
N: Number of fields reported per query. (Data2)
Each field value can be constructed using the following formula:
Total_Validated = ((Reply[3] & 0x0F) << 12) +
((Reply[4] & 0x0F) << 8) +
((Reply[5] & 0x0F) << 4) +
((Reply[6] & 0x0F) );
Recommended After reading this section, please see the appendix (Using Type 6 Audit Commands
(0x16, 0x17, 0x18, 0x19)) for an example that shows the proper use of this command.
Host Query Acceptor Audit Total Documents Stacked Command
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n nn nn 0x19 0x03 zz
Please refer to (Subtype 0x16) Query Acceptor Audit Total Documents Reporting Structure for more
details on how to set up this command in order to retrieve the desired fields.
The device will respond back with a message that has the following structure.
Device Query Acceptor Audit Total Documents Stacked Reply
Byte 0 1 2 3 3+(Z-1)
Name STX LEN CTRL Field 1.0 ooo Field 1.(Z-1)
Value 0x02 LL 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
LL-2 LL-1
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
To format this message correctly, the field width must be known (generally = 0x04) and it is returned
during the report structure message as Data3. In addition, the set size should also be known (Data2
from the reporting structure response)
Z: Field data width. (Data3)
N: Number of fields reported per query. (Data2)
Each field value can be constructed using the following formula:
Total_Stacked = ((Reply[3] & 0x0F) << 12) +
((Reply[4] & 0x0F) << 8) +
((Reply[5] & 0x0F) << 4) +
((Reply[6] & 0x0F) );
Byte 0 1 2 3 4 5 6 7
Name Operation Test Command
STX LEN CTRL ETX CHK
Type Level
Value 0x02 0x08 0X6n nn nn 0x1A 0x03 zz
The first parameter is called the operation type. Possible values are:
0x01: START test at the specified level
0x02: Query test result of the specified level
NOTE: Sending a query prior to a START command might result in stale data.
The second parameter is the test level. Possible values are:
0x01: Test Level 1 (Sensors test)
0x02: Test Level 2 (MMI and Motors test)
Depending of the test level, the results might not always be available immediately. If results are not
ready, the device will respond with a standard reply (11 bytes) with 0x7F in the first 2 data fields,
indicating invalid results. The host needs to repeat his request at a later time.
The devices reply format and data depend on the context. Possible responses are for:
Start Test
Results for Test Level 1
Results for Test Level 2
Results not ready
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X6n 0x00 0x00 0x00 0x00 0x00 0x00 0x03 zz
Byte 0 1 2 3 6
Name STX LEN CTRL Field 0.0 ooo Field 0.3
Value 0x02 0X55 0X6n 0x0n 0x0n
Field 1
0x0n ooo 0x0n
83 84
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
For all fields results (except MMI button – described in the table) as follows:
0x0000 = Test Passed
0x00FF = Test Skipped
<other> = Failure code
The field data is laid out according to the following rules for the SC product:
Field Size in Data Description
Number Bytes Width
0 4 16 Start Sensor
1 4 16 Cross Channel 1
2 4 16 Cross Channel 2
3 4 16 Barcode 1
4 4 16 Barcode 2
5 4 16 Stacker Home
6 4 16 Recognition Sensor 1
7 4 16 Recognition Sensor 2
8 4 16 Recognition Sensor 3
9 4 16 Recognition Sensor 4
10 4 16 Recognition Sensor 5
11 4 16 Recognition Sensor 6
12 4 16 Recognition Sensor 7
13 4 16 Recognition Sensor 8
14 4 16 Recognition Sensor 9
15 4 16 Recognition Sensor 10
16 4 16 CBM_8052
17 4 16 DBM_8052
MMI Button
18 4 16 0: NOT pressed
1: Pressed
19 4 16 General IO
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X6n nn nn 0x00 0x00 0x00 0x00 0x03 zz
The field data is laid out according to the following rules for the SC product:
Data 0 Description
0x7F Results not ready
0 PASS
1 FAILED Transport Tach
2 FAILED BNF Motor
Data 1 Description
0x7F Results not ready
0 PASS
1 FAILED OFF Home
If the device is not yet ready to respond to a host’s request for the test results, it returns a message with
the following structure.
Device Acceptor Diagnostics Self Test Reply : CONTEXT = Results Not Ready
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X6n 0x7F 0x7F 0x00 0x00 0x00 0x00 0x03 zz
The two 0x7Fs for the first two data bytes represent that the device has not yet completed the test. The
host should re-query at a later time.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Sensor N/A Command ETX CHK
Value 0x02 0x08 0X6n nn 0x00 0x1D 0x03 zz
The following list describes the supported sensors. All other values should be considered reserved for
future use.
0x01 = Stacker Home Sensor
Byte 0 1 2 3 6
Name STX LEN CTRL Field 1.0 ooo Field 1.3
Value 0x02 0x1D 0X6n 0x0n 0x0n
Field 2
0x0n ooo 0x0n
27 28
Field N ETX CHK
0x0n ooo 0x0n 0x03 zz
This table outlines the layout of the returned data for the Stacker Home Sensor.
Field Size in Data Description
Number Bytes Width
State
0 4 16 0: UNBLOCKED
1: BLOCKED
1 4 16 Adjusted Reading
2 4 16 Reading
3 4 16 Offset Reading
4 4 16 Threshold
5 4 16 Circuit Offset
These data values can be determined by using the following code example:
Home Sensor State Value = ((Reply[3] & 0x0F) << 12) +
((Reply[4] & 0x0F) << 8) +
((Reply[5] & 0x0F) << 4) +
((Reply[6] & 0x0F) );
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x00 0x00 0x23 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9 10
Name Jam
STX LEN CTRL N/A N/A N/A N/A N/A ETX CHK
Location
Value 0x02 0x0B 0X6n 0xnn 0x00 0x00 0x00 0x00 0x00 0x03 zz
The "Jam Location" field is only populated when the device is in the Jammed state. It is important to
note that the device will NOT send any message to the host if the status changes. The burden is on the
host to query the status when applicable.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Data A Data B Command ETX CHK
Value 0x02 0x08 0X6n 0x7F 0x7F 0x7F 0x03 zz
Warning It is not recommended to use this command to clear error conditions such as jammed,
failure, or cashbox full as this can result in undesired behavior.
Byte 0 1 2 3 4 5 6 7
Name STX LEN CTRL Sub Type Data 0 Data N ETX CHK
ooo
Value 0x02 LL 0X7n nn nn nn 0x03 zz
The length varies depending on the number of data bytes present. It is also important to note that every
host message must contain, at a minimum, the 3 data bytes present in a standard omnibus command.
The device will continue to use the configuration data from these bytes to ensure proper operations.
Similarly, the device will provide at least 6 data bytes in every response to represent the values found in
the standard omnibus reply message. These data bytes are decoded in the same fashion as described in
the General Messages section. The extended data bytes reside between the last normal data byte and
the ETX value and can vary in length.
When the host issues a type 7 command that requires an immediate response from the device, the
device responses contain the same sub type byte value so the host can be assured that the response is
for the correct message. This is unlike the Auxiliary commands (Type 6) which do not have any unique
identifier for the device’s response.
Byte 0 1 2 3 4 5 6 7 8 9
Name Data Data Data Data Data Data
STX LEN CTRL Sub Type
0 1 2 3 4 5
Value 0x02 0x28 0X7n 0x01 nn nn nn nn nn nn
10 11 37 38 39
Ext Data Ext Data Ext Data
ETX CHK
0 1 ooo 27
nn nn nn 0x03 zz
A typical data payload for an 18 digit bar-coded voucher might be encoded as:
012345678901234567((((((((((
It is then the responsibility of the host system to determine what (if any) value to assign to this voucher.
The host must command the device to either stack or return the voucher. It is important to note that
when the voucher is stacked, a standard omnibus reply with a non-extended note value of unknown is
sent by the device. Thus, the only chance the host system has to capture the bar coded data is when the
voucher is at escrow.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Index ETX CHK
Value 0x02 0x0A 0X7n 0x02 nn nn nn nn 0x03 zz
The first extended data byte is the Index. This index value starts at ‘1’ and represents the index of the
extended note table data in the device. The section “Requesting the Note Table” outlines how to use
this index in order to retrieve the full note set table from the device. A more detailed protocol trace
example for this command can be found in section 8.2.
The reply contains 18 additional bytes of data that describe the bank note in great detail. This message
can be sent from the device for two reasons:
Response to a host’s query extended note command
Device is running in extended note mode and a valid banknote has either reached escrow or
been stacked.
The following is the layout of the reply packet:
Device Extended Note Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name Data Data Data Data Data Data
STX LEN CTRL Sub Type
0 1 2 3 4 5
Value 0x02 0x1E 0X7n 0x02 nn nn nn nn nn nn
10 11 27 28 29
Ext Data Ext Data Ext Data
ETX CHK
0 1 ooo 17
nn nn nn 0x03 zz
A special case is that of an unknown item stack in extended note mode. In this case the entire eighteen
bytes of extended note data are zero bytes.
Warning Also, be aware that under some circumstances, a no-value note can be returned in “Non-
extended” mode. See section 7.1.2.3 (Data Byte 2). The host code needs to able to handle either reply
type for this case.
Warning SCR The device will always respond with a (Subtype 0x15) Recycler Omnibus
Command/Reply message in place of this message for escrowed and stacked banknotes. This message is
only sent as a response if the host queried the note table.
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 LL 0X7n 0x03 nn nn nn
The Enable data is used to enable notes by index. This is shown below for two of our common products.
CFSC Supports up to 50 denomination types, therefore the command requires 8 extended data bytes.
This will make the message length 0x11:
Byte Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Enable 1 Note 7 Note 6 Note 5 Note 4 Note 3 Note 2 Note 1
Enable 2 Note 14 Note 13 Note 12 Note 11 Note 10 Note 9 Note 8
Enable 3 Note 21 Note 20 Note 19 Note 18 Note 17 Note 16 Note 15
Enable 4 Note 28 Note 27 Note 26 Note 25 Note 24 Note 23 Note 22
Enable 5 Note 35 Note 34 Note 33 Note 32 Note 31 Note 30 Note 29
Enable 6 Note 42 Note 41 Note 40 Note 39 Note 38 Note 37 Note 36
Enable 7 Note 49 Note 48 Note 47 Note 46 Note 45 Note 44 Note 43
Enable 8 - - - - - - Note 50
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 ETX CHK
Value 0x02 0x0B 0X2n nn nn nn nn nn nn 0x03 zz
In some firmware, an alternate reply is given. This reply also contains no extended data.
Device Extended Note Inhibits Reply - Alternate
Byte 0 1 2 3 4 5 6 7 8 9 10 11
Name Data Data Data Data Data Data
STX LEN CTRL Subtype ETX CHK
0 1 2 3 4 5
Value 0x02 0x0C 0X7n 0x03 nn nn nn nn nn nn 0x03 zz
Warning In order to avoid possible confusion processing the extended note data, this command should
only be sent when the device is in the idle state.
Byte 0 1 2 3 4 5 6 7 8 9 10
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Notes Barcode ETX CHK
Value 0x02 0x0B 0X7n 0x04 nn nn nn nn nn 0x03 zz
The Notes and Barcode fields set the timeout for bank notes and barcodes in seconds. This is a value
from 1 through 127 seconds, or zero to disable the timeout. By default, both timeouts are disabled in
most software implementations. The reply contains no extended data:
Device Set Escrow Timeout Reply
Byte 0 1 2 3 4 5 6 7 8 9 10 11
Name Subtype Data Data Data Data Data Data
STX LEN CTRL ETX CHK
0 1 2 3 4 5
Value 0x02 0x0C 0X7n 0x04 nn nn nn nn nn nn 0x03 zz
S2K If extended coupon reporting is enabled then the device will send this reply when a special coupon
is detected. The reply contains 6 additional bytes of data that describe the coupon in detail. The
following is the layout of this packet:
Device Extended Coupon Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name Data Data Data Data Data Data
STX LEN CTRL Sub Type
0 1 2 3 4 5
Value 0x02 0x12 0X7n 0x04 nn nn nn nn nn nn
10 11 12 13 14 15 16 17
Coupon Coupon Coupon Coupon
N/A N/A ETX CHK
Data 0 Data 1 Data 2 Data 3
0x0n 0x0n 0x0n 0x0n 0x00 0x00 0x03 zz
The coupon bytes 0 through 3 represent a 16 bit value that may be broken down as:
Bit # Value Description
15..3 n 13 Bit Vender ID
0x00 Free Vend
0x01 $1 Coupon
2..0 0x02 $2 Coupon
0x03 $5 Coupon
Other Reserved
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x1A 0X7n 0x05 nn nn nn
7 8 23 24 25
Asset 0 Asset 1 ooo Asset 16 ETX CHK
nn nn nn 0x03 zz
The asset bytes contain an asset string (alpha-numeric) that is programmed into the device. This
supports up to 17 bytes of data however, most devices will only use 16 bytes of data. The last Asset
block should be left as 0x00 to ensure compatibility with all devices. The reply contains no extended
data:
Device Set Asset Number Reply
Byte 0 1 2 3 4 5 6 7 8 9 10 11
Name Data Data Data Data Data Data
STX LEN CTRL Subtype ETX CHK
0 1 2 3 4 5
Value 0x02 0x0C 0X7n 0x05 nn nn nn nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x09 0X7n 0x06 nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x52 0X7n 0x06 nn nn nn nn nn nn
10 19 70 79 80 81
Denom 0 ooo Denom 6 ETX CHK
0x0n o o o 0x0n 0x0n ooo 0x0n 0x03 zz
See the table below for an example of the data layout for each denomination.
Field Byte Field Description Sample Value
Offset (2000 Yen Note)
Index 0 Note Value Index reported starting with ‘1’ and 0x03
ending with the final index ‘7’.
ISO Code 1..3 A three character ASCII currency code. See “JPY”
ISO_4217 at the Wikipedia for details.
Base Value 4..6 A three character ASCII coded decimal value “002”
Sign 7 An ASCII coded sign value for the Exponent. This “+”
field is either a “+” or a “-“
Exponent 8..9 ASCII coded decimal value for the power of ten “03”
that the base is to either be multiplied by (if Sign
is “+”) or divided by (if Sign is “-“)
In this example: Note Value = 002 x 10+03 = 2 x 1000 = ¥2000.
If a Value Index does not have a corresponding denomination value, then all fields will be 0x00 following
the Value Index.
SCR For dispensing operations, the note retrieved event is not sent because this functionality is
captured in the Recycler Omnibus Reply as part of the recycler status bit fields. Please refer to section
7.5.15.1 for more details.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Status ETX CHK
Value 0x02 0x0A 0X7n 0x0B nn nn nn 0x00/01 0x03 zz
To enable this feature, the host would send a 0x01 as the status byte. To disable, the host can send a
0x00 as the status byte.
The device will respond to the enable/disable command with an ACK or NAK:
Device Enable/Disable Note Retrieved Functionality Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x0B nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
The device ACKs with 0x01 if it can honor the hosts request to either enable or disable. The device will
NAK the command if it is not supported for the current configuration. (ex. BNF is attached).
If the functionality has been enabled, the device will send out a message each time the note is removed
after a return/reject. This message will have the following structure:
Device Note Retrieved Event
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x0B nn nn nn nn nn nn
10 11 12
Event ETX CHK
0x7F 0x03 zz
The 0x7F for the Event byte signifies that the note has been removed by the user.
The Host shall tell the device to begin the SHA calculation by sending the following message with the
starting address and seed parameters:
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x39 0X7n 0x0C nn nn nn
7 14
Start Address
0x0n ooo 0x0n
15 22 47 54 55 56
Seed 0 ooo Seed 4 ETX CHK
0x0n ooo 0x0n 0x0n ooo 0x0n 0x03 zz
The Start address is an 8 byte value that uses only the lower nibble to send data. The same encoding is
found on the 5 seed values as well. Each of the seed values is 8 bytes. For example, a starting address of
0x1234ABCD will be encoded as 8 bytes = {0x01, 0x02, 0x03, 0x04, 0x0A, 0x0B, 0x0C, 0x0D}.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x0C nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
If the device ACKs the request, it will begin running the SHA calculation. Since this is such a processor
intensive function, it can take the device up to 60 seconds for the device to respond with a SHA
calculation result. The host should continue to poll the device with standard omnibus commands until
the device responds with the SHA results described in the following message:
Device SHA-1 Results
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x34 0X7n 0x0C nn nn nn nn nn nn
10 17 43 50 51 52
Result 0 ooo Result 4 ETX CHK
0x0n ooo 0x0n 0x0n ooo 0x0n 0x03 zz
The results are posted back in a similar format as the host to device message. The results are sent in the
lower nibble of each extended data byte.
The device will automatically leave the mode if any of the following conditions are met:
Power is lost
Host informs the device to leave the mode.
Calibration mode is entered.
A document is stacked
The most important one is the last one: “A document is stacked.” This means the mode does not persist
and will only be enabled for a single document. Once this document is stacked, the device will resume
normal operations.
If this mode is enabled along with the normal bookmark mode, then advanced bookmark mode takes
precedence; all valid notes and barcodes will automatically be rejected.
The host must enable this feature every time a custom bookmark is to be accepted. This is done with the
following message. (The same message structure can also be used to disable the feature).
Host Enable/Disable Advanced Bookmark Mode Command
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Status ETX CHK
Value 0x02 0x0A 0X7n 0x0D nn nn nn 0x00/01 0x03 zz
The Status byte tells the device to enable (0x01) or disable (0x00) the mode.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x0D nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
If the device ACKs the message with 0x01, then the mode has been entered. The device may NAK the
message if it is currently busy (processing a note or powering up).
When the device stacks a document in this mode, the Standard Omnibus Reply (section 7.1.2) is
reported with the stacked bit set and no value reported in data byte 2.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Enable ETX CHK
Value 0x02 0x0A 0X7n 0x10 nn nn nn 0x00/01 0x03 zz
The Enable byte tells the device to enable (0x01) or disable (0x00) the mode.
The device will respond to the command with an ACK or NAK message:
Device Enable/Disable Cashbox Cleanliness Reporting Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x10 nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
No message will be sent if the cashbox is acceptable. If the cashbox is in the “Cleaning Recommended“
or the “Cleaning Required” states, then the device will send a message to the host with the following
structure:
Device Cashbox Cleanliness Event
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x10 nn nn nn nn nn nn
10 11 12
Event ETX CHK
0x11/10 0x03 zz
This event message will only ever be sent once per instance. The event field reports the status of the
cashbox:
0x11 = Cleaning Recommended.
0x10 = Cleaning Required.
This command should only be sent to the device after power up, and not during document or note table
processing.
This request also does not persist across power ups so if the device was restarted after a request was
posted, but before the results were retrieved, then the host needs to re-issue this command.
The Host shall tell the device to begin the 16-bit CRC calculation by sending the following message:
Host Request 16-bit CRC
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x0E 0X7n 0x11 nn nn nn
7 8 11 12 13
Segment Seed.0 Seed.3 ETX CHK
ooo
0x0n 0x0n 0x0n 0x03 zz
The four seed values contain the data in the lower nibble. For example, the seed value 0x1234 is
encoded as 4 bytes {0x01, 0x02, 0x03, 0x04}.
There is no ability to change the starting address; the device begins all calculations at the beginning of
the appropriate code space.
The device will either ACK or NAK the request with the following message:
Device Request 16-bit CRC Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x11 nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
The device might NAK the request if not in idle state or if it is already in the middle of handling another
CRC request.
If the device ACKs the request, it will begin running the CRC calculation. Since this is such a processor
intensive function, it can take several seconds for the device to respond with a result. The host should
continue to poll the device with a standard omnibus command until it responds with the CRC results
described in the following message:
Device 16-bit CRC Results
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x10 0X7n 0x11 nn nn nn nn nn nn
10 13 14 15
Result.0 Result.3 ETX CHK
ooo
0x0n 0x0n 0x03 zz
The CRC results come back in the form 4 byte values. Each byte contains data in only the last nibble.
Result is transferred MSB first (Big Endian).
This command should only be sent to the device after power up, and not during document or note table
processing.
This request also does not persist across power ups so if the device was restarted after a request was
posted, but before the results were retrieved, then the host needs to re-issue this command.
The Host shall tell the device to begin the 32-bit CRC calculation by sending the following message:
Host Request 32-bit CRC
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x12 0X7n 0x12 nn nn nn
7 8 15 16 17
Segment Seed.0 Seed.7 ETX CHK
ooo
0x0n 0x0n 0x0n 0x03 zz
The Segment defines the portion of code space over which it is requested to perform the CRC
calculation.
0x00: Reserved
0x01: Application code space
0x02: Variant code space
0x03: Combined (application and variant) code space.
The four seed values contain the data in the lower nibble. For example, the seed value 0x1234ABCD is
encoded as 8 bytes {0x01, 0x02, 0x03, 0x04, 0x0A, 0x0B, 0x0C, 0x0D}.
There is no ability to change the starting address; the device begins all calculations at the beginning of
the appropriate code space.
The device will either ACK or NAK the request with the following message:
Device Request 32-bit CRC Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x12 nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
If the device ACKs the request, it will begin running the CRC calculation. Since this is such a processor
intensive function, it can take several seconds for the device to respond with a result. The host should
continue to poll the device with a standard omnibus command until it responds with the CRC results
described in the following message:
Device 32-bit CRC Results
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x14 0X7n 0x12 nn nn Nn nn nn nn
10 17 18 19
Result.0 Result.7 ETX CHK
ooo
0x0n 0x0n 0x03 zz
The CRC results come back in the form 8 byte values. Each byte contains data in only the last nibble.
Result is transferred MSB first (Big Endian).
The indices in this table are and the associated note values can be altered by changing the configuration
of the unit so these entries should always be queried upon connection to the device (after power up is
complete).
Warning The device is not able to report accurate information about the note table until the
inventory sequence has completed. Therefore, any note table requests during any of the following
situations will be NAK'd.
Power up sequence
Cashbox is removed or the transport path is open
Inventory sequence is running (ex. after a cashbox is inserted)
Unknown documents detected
Missing note report ready. See (Subtype 0x1A) Missing Note Report.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Index ETX CHK
Value 0x02 0x0A 0X7n 0x13 nn nn nn ii 0x03 zz
The device will respond to the request with a full description of the banknote at that location
Device Recycler Note Table Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x1A 0X7n 0x13 nn nn nn nn nn nn
10 11 23 24 25
Ext Data 0 Ext Data 1 ooo Ext Data 13 ETX CHK
nn nn nn 0x03 zz
The device will reply with 14 additional bytes of data that describe the note value associated with the
index requested. The following table outlines how to decode the extended data bytes.
Field Byte Field Description Sample Value
Offset (2000 Yen Note)
Recycler 0..1 Recycler status bit field for this denomination. 0x03
Status Please refer to section 7.5.15.1 for further
information.
Current Fill 2 The number of notes of this type in the recycler. 0x78
Count
Current 3 The number of notes of this type that the recycler 0x78
Capacity can hold in the current configuration.
Index 4 Index into the recycler note set 0x05
ISO Code 5..7 A three character ASCII currency code. See “JPY”
ISO_4217 at the Wikipedia for details.
Base Value 8..10 A three character ASCII coded decimal value “002”
Sign 11 An ASCII coded sign value for the Exponent. This “+”
field is either a “+” or a “-“
Exponent 12..13 ASCII coded decimal value for the power of ten “03”
that the base is to either be multiplied by (if Sign
is “+”) or divided by (if Sign is “-“)
In this example: Banknote Value = 002 x 10+03 = 2 x 1000 = ¥2000 is enabled for recycling and the
capacity has been reached (full).
Warning When an index is requested for which no note value is assigned, the extended data will be
all null values (0x00). The first occurrence of this null response indicates the end of the note table (as
you step up from index 1 to n for each query). Please note that index 0 will also respond with null values
as it is not supported (index starts at 1).
Warning The current capacity should not be used to determine when the recycler is full as possible
differences in distances between the notes could result in plus/minus a few notes. Instead, the host
should always refer to the recycler status 'Full' bit when determining if the recycler system is full.
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x0B 0X7n 0x14 nn nn nn
7 8 9 10
Enables Reserved ETX CHK
nn 0x00 0x03 zz
The extended bytes are used in the following fashion to enable the specified denominations:
Byte Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Enabled Bill Value 7 Bill Value 6 Bill Value 5 Bill Value 4 Bill Value 3 Bill Value 2 Bill Value 1
Reserved Reserved for future use.
The number of denominations that can be recycled concurrently can be discovered through the device
capabilities bit (see 7.4.14). To disable recycling, send this command with all the enabled bits cleared.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x14 nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9
Name Recycler
STX LEN CTRL Sub Type Data 0 Data 1 Data 2 ETX CHK
Control
Value 0x02 0x0A 0X7n 0x15 nn nn nn nn 0x03 zz
4-6 Reserved
Warning The three command bits for controlling document movement: Stack (data 1, bit 5), Return
(data 1, bit 6) and the new Stack to Recycler (recycler control, bit 0) are mutually exclusive. If two or
more of these command bits are set, the device will NAK the command and perform no action with the
document.
Warning If the host issues a "stack to recycler" for a document that is not enabled for recycling, the
device will NAK the request and perform no action with the document.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x20 0X7n 0x15 nn nn nn nn nn nn
10 11 29 30 31
Ext Data 0 Ext Data 1 ooo Ext Data 19 ETX CHK
nn nn nn 0x03 zz
Please refer the table below for a full description on how to decode the extended data bytes that are
returned.
Field Byte Field Description Sample Value
Offset (2000 Yen Note)
Recycler 0..1 Recycler status bit field for this denomination. 0x05
Status Please refer to section 7.5.15.1 for further
information.
Index 2 Not used for subytype 0x15 responses. Always 0x00
0x00
ISO Code 3..5 A three character ASCII currency code. See “JPY”
ISO_4217 at the Wikipedia for details.
Base Value 6..8 A three character ASCII coded decimal value “002”
Sign 9 An ASCII coded sign value for the Exponent. This “+”
field is either a “+” or a “-“
Exponent 10..11 ASCII coded decimal value for the power of ten “03”
that the base is to either be multiplied by (if Sign
is “+”) or divided by (if Sign is “-“)
Orientation 12 A single character binary field that encodes the 0x00
orientation of the bank note.
0x00 = Right Edge, Face Up
0x01 = Right Edge, Face Down
0x02 = Left Edge, Face Up
0x03 = Left Edge, Face Down
Note: In general, this field is only correct if the
Extended orientation bit is set in device
capabilities map. See section 7.4.14.
Type 13 An ASCII letter that documents the note type. “A”
This corresponds to the data in the variant
identity card.
Series 14 An ASCII letter that documents the note series. “A”
This corresponds to the data in the variant
identity card.
<Table Continues on Next Page>
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x0B 0X7n 0x16 nn nn nn
7 8 9 10
Index Count ETX CHK
nn nn 0x03 zz
Index field represents the recycler note value index and is 1-based. Example: "1" equals the first entry in
the recycler note table as was retrieved with command (Subtype 0x13) Request Recycler Note Table.
Warning Two special values exist to support the host when unknown documents are detected. Index
value 0x7F represents unknown docs on recycler 1 while 0x7E represents unknown documents on
recycler 2.
Count field is the number of banknotes to dispense. A special value 0x7F can be used to mean all
banknotes.
The device will respond with a recycler omnibus reply to this command.
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x09 0X7n 0x17 nn nn nn 0x03 zz
The device will respond with a recycler omnibus reply to this command.
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x0B 0X7n 0x18 nn nn nn
7 8 9 10
Index Count ETX CHK
nn nn 0x03 zz
Index field represents the recycler note value index and is 1-based. Example: "1" equals the first entry in
the recycler note table as was retrieved with command (Subtype 0x13) Request Recycler Note Table.
Warning Two special values exist to support the host when unknown documents are detected. Index
value 0x7F represents unknown docs on recycler 1 while 0x7E represents unknown documents on
recycler 2.
Count field is the number of banknotes to dispense. A special value 0x7F can be used to mean all
banknotes.
The device will respond with a recycler omnibus reply to this command.
Recommended While it is permitted to issue this command during a note movement session, for the
most accurate information it is recommended that this command is sent after the movements have
completed.
Warning The device will NAK the command during power up since the system need to perform
inventory calculations to ensure all documents are reported correctly.
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x09 0X7n 0x19 nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x1D 0X7n 0x19 nn nn nn nn nn nn
10 11 26 27 28
Ext Data 0 Ext Data 1 ooo Ext Data 16 ETX CHK
nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x09 0X7n 0x1A nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x1A 0X7n 0x1A nn nn nn nn nn nn
10 11 23 24 25
Ext Data 0 Ext Data 1 ooo Ext Data 13 ETX CHK
nn nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 Index ETX CHK
Value 0x02 0x0A 0X7n 0x1B nn nn nn ii 0x03 zz
The index value specifies the index of the physical recycler and uses 1-based indexing (value 1 is the
uppermost recycler).
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x29 0X7n 0x1B nn nn nn nn nn nn
10 11 38 39 40
Ext Data 0 Ext Data 1 ooo Ext Data 28 ETX CHK
nn nn nn 0x03 zz
Recycler Note Value 1 The status of recycler value index 1 type notes for this physical
Index 1 status cash unit. See 7.5.15.1 for status details.
Recycler Note Value 2 The number of recycler value index 1 type notes for this physical
Index 1 count cash unit.
Recycler Note Value 3 The status of recycler value index 2 type notes for this physical
Index 2 status cash unit. See 7.5.15.1 for status details.
Recycler Note Value 4 The number of recycler value index 2 type notes for this physical
Index 2 count cash unit.
ooo ooo ooo
Recycler Note Value 13 The status of recycler value index 7 type notes for this physical
Index 7 status cash unit. See 7.5.15.1 for status details.
Recycler Note Value 14 The number of recycler value index 7 type notes for this physical
Index 7 count cash unit.
Reserved 15-28 Reserved for future use.
This new command structure provides the host with access to a section of non-volatile memory that will
be stored on the cassette. There are no restrictions to the use of these fields and the data stored using
this command will not impact the normal operations of the device. This command also provides the
ability to directly read the RFID tag's unique serial number.
For the following command structures, there are 3 important sections: the Control Byte, the Block
Location and the RFID Data Bytes.
The tag age value represents the estimated number of writes that have been performed on the tag by
MEI specific write requests. This value will not reflect the RFID Writes requested by the customer. The
returned age value can be used to identify the remaining life of the RFID tag which is specified for a
minimum 100,000 write operations.
Warning If the host requests a read operation and the device encounters an error condition, these
data bytes will be omitted in the device’s response. The host should reference the Control Byte status
bits for the error condition reason.
The Host has two options for sending this command. The first option is the read command which only
specifies the Control Byte and the Block Location value.
Host RFID Read Request Command
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x0B 0X7n 0x1C nn nn nn
7 8 9 10
Control Block
ETX CHK
Byte Location
nn nn 0x03 zz
Byte 0 1 2 3 4 5 6
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2
Value 0x02 0x2B 0X7n 0x1C nn nn nn
7 8 9 40 41 42
Control Block RFID Byte RFID Byte
ETX CHK
Byte Location 0 ooo 31
nn nn 0x0n 0x0n 0x03 zz
While fast (usually on the order of 300 - 500 milliseconds), the read / write operations to the RFID tag do
not happen immediately. This means that the device will respond back to the host request at a later
time. To ensure the reliable communications, the device will either ACK or NAK all read / write
commands when they are received. This response will not contain the requested data or status but it
will let the host know that the device is working on the RFID request. This message structure is shown
below:
Device RFID Request Acknowledgment
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x1C nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
If for any reason the device is unable to honor the host request, a NAK will be sent to the host. The
device will NAK the host in the following situations:
Device is in power up mode. The RFID is not ready for communications until the power up
procedure has completed.
An invalid block location was specified by the host.
There is a current transaction underway. If a document has been inserted and is being
processed, the device will NAK all RFID requests.
Device is in calibration mode.
Cashbox is removed
If there is another pending RFID request. The host must wait until the other RFID request has
completed before sending another request.
If the device is not configured for the RETAIL environment, the device will always NAK these
commands.
If the device ACKs the original request, it will process that request and issue a response once complete.
This response will be issued as a reply to a general host omnibus command. Both the Control Byte and
the Block Location will be present for the response. If the original request was for a read, then the
device response will contain 32 additional bytes of the RFID Data:
Device RFID Read Request Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name Sub
STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Type
Value 0x02 0x2E 0X7n 0x1C nn nn nn nn nn nn
10 11 12 43 44 45
RFID RFID
Control Block
Byte Byte ETX CHK
Byte Location ooo
0 31
nn nn 0x0n 0x0n 0x03 zz
The results are posted back in a similar format as the host command. The RFID Data bytes are sent in the
lower nibble of each EBDS byte. If the host requested the RFID Tag's serial number or the Estimated Tag
Age (by issuing a read with block location = 0x7F or 0x7E) then the returned value will be stored in the
first 8 EBDS RFID Data bytes and the rest of the EBDS RFID Data bytes will be 0x00. This is because these
numbers are stored in a special data block as a 32 bit integer and padded with 0x00 values.
If the original request was for a write command, the RFID Data fields will be omitted from the response
as shown here:
Device RFID Write Request Reply
Byte 0 1 2 3 4 5 6 7 8 9
Name Sub
STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Type
Value 0x02 0x0E 0X7n 0x1C nn nn nn nn nn nn
10 11 12 13
Control Block
ETX CHK
Byte Location
nn nn 0x03 zz
Byte 0 1 2 3 4 5 6 7 8
Name STX LEN CTRL Subtype Data 0 Data 1 Data 2 ETX CHK
Value 0x02 0x09 0X7n 0x1D nn nn nn 0x03 zz
Since the command needs to clear large sections of memory, the command may take a few seconds to
complete. The device will inform the host that the operation is complete by posting back a completion
response at later time. However, the device will post an acknowledgement of the host request
immediately as follows:
Device Clear Audit Data Request Acknowledgment
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x1D nn nn nn nn nn nn
10 11 12
ACK/NAK ETX CHK
0x01/00 0x03 zz
If for any reason the device is unable to honor the host request, a NAK will be sent to the host
(represented by 0x00 for byte 10). The device will NAK the host in the following situations:
Device is in power up mode.
A current transaction underway. If a document has been inserted and is being processed, the
device will NAK all Clear Audit Data Request
Device is in calibration mode.
The device is currently servicing another type 7 message request.
If the device ACKs the original request, it will process that request and issue a completion response. This
response will be issued as a reply to a general host omnibus command. The message will contain a data
byte that will tell the host if the operation passed or failed.
Byte 0 1 2 3 4 5 6 7 8 9
Name STX LEN CTRL Sub Type Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Value 0x02 0x0D 0X7n 0x1D nn nn nn nn nn nn
10 11 12
Pass/Fail ETX CHK
0x11/10 0x03 zz
This command uses a similar mechanism to the "Missing Note Report" where the device will not enable
itself until the report has been fully processed by the host. The device will inform the host that an
escrow session has been completed by setting the "Escrow Session Summary Report Ready" bit field of
the recycler status byte (see section 7.5.15.1). This bit will be set in one of the following conditions:
All documents at escrow have completed the storing process and the device is now ready to
begin a new transaction session.
The device has encountered a jam or other out of service situation during the storing of escrow
documents. The host must process the intermediate report and correct the out of service
condition. Once the rest of the documents are processed, the host should expect to receive
another escrow session summary report finalizing the session.
Byte 0 1 2 3 4 5 6 7 8 9
Sub Report
Name STX LEN CTRL Data 0 Data 1 Data 2 ETX CHK
Type Index
Value 0x02 0x09 0X7n 0x20 nn nn nn nn 0x03 zz
Report Index starts at '1' and increments if additional reports are required (as defined by the
device's response).
Byte 0 1 2 3 4 5 6 7 8 9
Sub
Name STX LEN CTRL Data 0 Data 1 Data 2 Data 3 Data 4 Data 5
Type
Value 0x02 LL 0X7n 0x20 nn nn nn nn nn nn
10 11 12
Report Index End of Report ? Status
nn 0x00 or 0x01 0x00 to 0x06
13 14 15 16 17 18
Banknote
# at Escrow # to Cassette # to Recycler # Missing <reserved>
Index
nn nn nn nn nn 0x00
A maximum of 19 entries can be reported in a single message so if additional entries must be reported,
they will be part of the next message (see the Report Index below).
In the following sections, barcode acceptance is set to false in messages. Extended coupon mode should
also be disabled if applicable. See section 7.1.1.3 for more details on this coupon bit.
In this case, the device responded back to the disable command by reporting that it is in the idle state.
At this point, the host can safely assume the device is disabled and will not draw in any documents.
2 02 08 11 00 1C 10 03 15 Denoms disabled.
Barcode acceptance disabled.
2B 02 0B 21 02 10 00 10 54 10 03 6C Device is ACCEPTING
3 02 08 10 00 1C 10 03 14
3B 02 1E 70 02 04 10 00 10 54 10 00 Document at Escrow. (It is an
55 53 44 30 30 31 2B 30 30 03 43 extended note message saying
41 42 45 00 00 00 03 72 there is a $1 USD)
4 02 08 11 00 5C 10 03 55 Host issues “Return”
4B 02 1E 71 02 04 10 00 10 54 10 00
55 53 44 30 30 31 2B 30 30 03 43
41 42 45 00 00 00 03 73
5 02 08 10 00 1C 10 03 14
5B 02 0B 20 20 10 00 10 54 10 03 4F Device is RETURNING
6 02 08 11 00 1C 10 03 15
6B 02 0B 21 41 10 00 10 54 10 03 2F Device is IDLE with RETURNED
bit set.
7 02 08 10 00 1C 10 03 14
7B 02 0B 20 01 10 00 10 54 10 03 6E Device is IDLE
In the first response (1B), the device is idle so the host will attempt to disable the device. However, in
response to the disabling (2), the device responds with accepting (2B). At this point, the host must be
prepared to handle any documents that the device reports. In this case, when the device reported the
$1 USD at escrow (3B), the host issued the return command (4). The host can safely assume the device is
disabled once the idle state is returned in the final message (7B).
2 02 08 11 00 0C 10 03 05 Denoms disabled.
Barcode acceptance disabled.
2B 02 0B 21 02 10 00 10 54 10 03 6C Device is ACCEPTING
3 02 08 10 00 0C 10 03 04
3B 02 0B 20 08 10 00 10 54 10 03 67 Device is STACKING
4 02 08 11 00 0C 10 03 05
4B 02 1E 71 02 11 10 00 10 54 10 00 Device STACKED a $1 USD
55 53 44 30 30 31 2B 30 30 01 43 note.
41 42 45 00 00 00 03 64
5 02 08 10 00 0C 10 03 04
5B 02 0B 20 01 10 00 10 54 10 03 6E Device is IDLE
Since the device is operating in non-escrow mode, it will automatically stack the note that was inserted
before the host disabled the device. The host can safely assume the device is disabled once the idle
state is returned in the final message (5B).
In this example, there are 21 notes in the note set. This value can differ from version to version so the
host shall never use a hard coded value for the number of indices in a note set.
The first message (0x16) describes the structure that must be used for the other commands (0x17, 0x18
and 0x19). So this structure message must be sent before any of the other commands. This sequence is
shown here.
Msg # Host Message Device Response Description
1 02 08 10 7F 1C 12 03 69 Base line poll message.
Denoms enabled.
Barcode acceptance enabled.
1B 02 0B 20 01 10 00 10 55 25 03 5A Device is IDLE
2 02 08 11 00 1C 10 03 15 Disable the device to guard
against miscounts. (see
Disabling the Device)
2B 02 0B 21 01 10 00 10 55 25 03 5B Device is IDLE
3 02 08 60 00 00 16 03 7E Request Audit Reporting
Structure.
3B 02 0B 60 04 32 19 04 00 00 03 40 Device response for audit
structure. See below for
decoding.
Using these values obtained from the subtype 0x16 message, we can now properly send and decipher
the responses to the other commands (0x17, 0x18 and 0x19).
The final step would be to re-enable the device after retrieving the audit counters.
Msg # Host Message Device Response Description
n 02 08 11 7F 1C 12 03 68 Re-enable the device
nB 02 0B 21 01 10 00 10 55 25 03 5B
Byte 2 Byte 3
Bit 0 Push/No Push Modes No Push Mode Bit 0 Push/No Push Acceptor is stalled.
Bit 1 Decode Bar Codes Enable Bit 1 Flash Download Starting Flash D/L.
Bit 2 Power Up B Sequence Enable Bit 2 Pre-stack Deprecated
Bit 3 Power Up C Sequence Enable Bit 3 Raw barcode Supports 24 byte codes
Bit 4 Extended Note Set Enable Bit 4 Device Caps Allows QryDeviceCaps
Bit 5 Extended Coupon Enable Bit 5 Disabled Device is disabled
Bit 6 Currently 0 RFU Bit 6 Currently 0 RFU
ETX (0x03)