cctalk Product Manual for Ardac Elite

Similar documents
SR5 Serial Protocol - Issue 1.6

INNOVATIVE TECHNOLOGY LTD CC2. Communications Protocol Manual GA863. Issue version Page 1 of 108

Public Domain Document

SECTION 5 SMART PAYOUT MANUAL SET SOFTWARE IMPLEMENTATION GUIDE

Lumina Technical Manual TSP013.doc Issue 4.8 July 2006

Ardac Elite EP Host Manual TSP020.doc Issue 4.2 May 2008

Serial Compact Hopper Mk 3. Combi

ccprogrammer User Manual TSP041.doc Issue 3.3 June 2004

External Boot Check ExBoot ID-003 V1.13 ROM: DBC7. Sum: Years & MRI ID No.

Software Information Sheet

Operations Manual. Innovative Technology Limited NV4X Bank Note Validator. The Next Generation Smiley Bank Note Validator

CHANGE HISTORY SSP SMILEY SECURE PROTOCOL 2

SR5 MechTool TM Manual TSP012.doc Issue 2.1 June 2004

A6 CCTALK MODULAR VALIDATOR

BV100 OPERATIONS MANUAL

SECTION 3 NV9 USB MANUAL SET

INNOVATIVE TECHNOLOGY LTD

MCL PCI Card Technical Manual TSP092.doc Issue 1.2 June 2004

A Issue A Original. Instruction Manual. nxds Serial Comms Interface

Technical Manual. cctalk USB Hub CCT 910

Last updated 21/08/02

CAN / RS485. Product Description. Technical Reference Note. Interface Adapter. Special Features

Flex Series User Guide

WF-700B User Manual. RS232 Interface for Coin Validators

JCM TRAINING OVERVIEW Taiko Banknote Validator (PUB-7/11)

MDB Coin Changer and MDB Bill Acceptor to RS 232 Interface

Model IR4000M. HART Field Device Specification Multi-Point Monitor. Instruction Manual 07-08

DELPHI CORPORATION. LIN to RS-232 Gateway Systems Analysis INterface Tool (SAINT) Users Guide

POCKET GUIDE ROUTINE MAINTENANCE, SAFETY, INSTALLATION & TROUBLESHOOTING

Copyright: December 2017 Nidec Issue: E

cctalk Flow Hopper Product code XXXX-USE_SERNR Model: 18-USE_SERNR-ID Product Manual Version 1.8 / April 2013

JCM TRAINING OVERVIEW VEGA Banknote Acceptor

RS3000 SERIES BILL ACCEPTORS

Modbus on SenseAir S8

cctalk Serial Communication Protocol - Generic Specification - Issue 4.7

MODBUS Protocol. The ecode Encoders contain both single register (16 bit) and double register (32 bit) values.

WRTU Client User Manual. Date: 29 May, 2014 Document Revision: 1.05

HopperOne S11 cctalk Standard / Reverse

The watchdog is connected to the internal USB header and reset switch header on the majority of motherboards.

SPBUS PROTOCOL SPECIFICATION

Modbus on S8. Modbus is a simple, open protocol for both PLC and sensors. Details on Modbus can be found on

GBA ST2 Operations Manual

User Guide. Modbus Module. For Digistart soft starters. Part Number: Issue: 3.

RSLogix500 Project Report

Modbus on S8. Modbus is a simple, open protocol for both PLC and sensors. Details on Modbus can be found on

It is the installer's responsibility to follow all instructions in this manual and to follow correct electrical practice.

Logosol Joystick Node LS-731

e-motion Software Module

Modbus Remote Communication Protocol for REM 54_. Technical Description

Micro RWD H2 Protocol

Micro RWD Quad-Tag Reader

BV4531U. I2C or Serial 6 Way Relay

UM2330 User manual. ST8500 boot. Introduction

How to Configure DeviceNet with Anybus Configuration Manager (ACM) for DeviceNet APPLICATION NOTE DRAFT

BV20 Operations Manual 2

Innovative Technology Limited NV9 Bank Note Validating System Bank Note Handling Solutions Of The Future Smiley Operations Manual GA326-4

CASHFLOW SC76 Operation & Maintenance Manual

H1PROT.PDF 14 Pages Last Revised 02/11/06. Micro RWD H1/S Protocol

VP Process Inc. Model: VP-EC-RDU Modbus RTU LCD Display

I-Dent Marker Communications for 186 CPU Firmware Versions 1 and 2

Shanghai Wafer Microelectronics Co.,Ltd. RS232/USB Interface for PULSE-PC

PMBus Power System Management Protocol Specification Part I General Requirements, Transport And Electrical Interface

SE-330 SERIES (NEW REVISION) MODBUS/TCP INTERFACE

BV4505. IASI-Keypad Controller. Product specification. January 2009 V0.a. ByVac Page 1 of 13

NOVOtechnik SIEDLE GRUPPE

General Remote Interface Description. en General Remote Interface Description

Instructions. Modbus RTU Card (WSIQ-COM-MB)

NV10 USB OPERATIONS MANUAL

Money Controls All rights reserved.

SMART Coin System QUICK START AND CONFIGURATION GUIDE

User Manual. Spectrum Pro

GBA HR1 Operation Manual

Fisher ROC Plus Serial Driver Help Kepware Technologies

EDBG. Description. Programmers and Debuggers USER GUIDE

RM5 HD configuration software Operating Manual

Intech Micro 2300-A8VI analogue input station MODBUS RTU slave application supplementary manual.

Innovative Technology Limited NV9 Bank Note Validating System. The Future of Smiley Bank Note Handling. Operations Manual GA326-3

Gateway 1400 Reference Manual

WiMOD LR Base Host Controller Interface

AVT J1939 / J1708 Controller. Interface Control Document and Related Technical Information

EHAG 125 khz Multitag Reader Module ME-H10101xx

EFILive USB driver Error Code Error Description Cause Action

Interpret control-panel messages

Space engineering. SpaceWire Protocols

hipecs-cio100 CANopen I/O module with 16/16 digital I/O

Embedded Modbus TCP Module GS11-MT. User Manual REV 1.1. SST Automation.

FPU-16 A-B PROTOCOL/DATA LOGGER MANUAL

1. Introduction. Be sure to read the release notes in section 10 before operating the Unit.

Metasys N2 Instruction Manual VLT Adjustable Frequency Drive. 12/ Revision B

GW1000 User s Guide. Revision 1.04 Mar 30, 2008

1. Introduction. 2. Installation MODBUS INTERFACE

SPI Lasers UK Limited. Serial Command Reference for the PRISM Laser Platform

RPC Interface Specification November 2001 Introduction

Leica LP C (Laser Printer for Cassettes) System Requirement & Specifications

NV11 OPERATIONS MANUAL

Device manual Profibus encoder. RM30xx RN30xx /00 06/2013

MCD 200 Series. MCD 200 DEVICENET Module OPERATING INSTRUCTIONS. MCD 200 DEVICENET Module. Order Code: 175G9002. Adjustment.

2G Actuator Communications Protocol Document Rotary & Linear Actuators

B Interface description 12.01/

Section 7 Cashless Device(s) VMC/Peripheral Communication Specifications

Transcription:

cctalk Product Manual for Ardac Elite Issue : 1.0 Last Updated : 24/10/08 This document is the copyright of Money Controls Ltd and may not be reproduced in part or in total by any means, electronic or otherwise, without the written permission of Money Controls Ltd. Money Controls Ltd does not accept liability for any errors or omissions contained within this document. Money Controls Ltd shall not incur any penalties arising out of the adherence to, interpretation of, or reliance on, this standard. Money Controls Ltd will provide full support for this product when used as described within this document. Use in applications not covered or outside the scope of this document may not be supported. Money Controls Ltd. reserves the right to amend, improve or change the product referred to within this document or the document itself at any time. Page 1 of 24

Revision History Issue Date Comments 0.1 04-01-07 Draft release 0.2 19-04-07 Mode control mask definition for Modify bill operating mode 0.3 26-07-07 Firmware revision string format defined above 9.99 see header 241 0.4 07-08-07 Header 89, Clear audit data, returns ACK not an ASCII string. 0.5 06-09-07 Added section Inhibit Operation Added section Credit Poll Timeout 0.6 24-10-07 New build code identifiers ( header 192 ) 0.7 02-11-07 Note added that coupon credit code is 255 / Updated Event Code Table 0.8 01-02-08 Support for event codes 0,4 and 0,5 added 0.9 10-03-08 Updated Event Code Table & Fault Code Table with latest supported codes 1.0 24-10-08 Added section on Note Table Programming Procedure Added section on Firmware Programming Procedure Added reference to DIP switch inhibits Page 2 of 24

Contents 1. Introduction... 5 2. General... 5 3. USB Operation... 5 4. Inhibit Operation... 6 5. Credit Poll Timeout... 6 6. Supported Command List... 7 6.1 Header 254 Simple poll... 7 6.2 Header 253 Address poll... 7 6.3 Header 252 Address clash... 7 6.4 Header 251 Address change... 7 6.5 Header 250 Address random... 7 6.6 Header 249 Request polling priority... 7 6.7 Header 247 Request variable set... 7 6.8 Header 246 - Request manufacturer id... 8 6.9 Header 245 Request equipment category id... 8 6.10 Header 244 Request product code... 8 6.11 Header 242 Request serial number... 8 6.12 Header 241 Request software revision... 8 6.13 Header 238 Test output lines... 8 6.14 Header 237 Read input lines... 9 6.15 Header 236 Read opto states... 9 6.16 Header 235 Read last credit or error code... 9 6.17 Header 233 Latch output lines... 10 6.18 Header 232 Perform self-check... 10 6.19 Header 231 Modify inhibit status... 10 6.20 Header 230 Request inhibit status... 10 6.21 Header 228 Modify master inhibit status... 11 6.22 Header 227 Request master inhibit status... 11 6.23 Header 226 Request insertion counter... 11 6.24 Header 225 Request accept counter... 11 6.25 Header 216 Request data storage availability... 11 6.26 Header 213 Request option flags... 12 6.27 Header 197 Calculate ROM checksum... 12 6.28 Header 196 Request creation date... 12 6.29 Header 195 Request last modification date... 12 6.30 Header 194 Request reject counter... 12 6.31 Header 193 Request fraud counter... 13 6.32 Header 192 Request build code... 13 6.33 Header 178 Request bank select... 13 6.34 Header 170 Request base year... 13 6.35 Header 169 Request address mode... 13 6.36 Header 159 Read buffered bill events... 14 6.37 Header 157 Request bill id... 14 6.38 Header 156 Request country scaling factor... 14 6.39 Header 155 Request bill position... 14 6.40 Header 154 Route bill... 15 6.41 Header 153 Modify bill operating mode... 15 6.42 Header 152 Request bill operating mode... 15 6.43 Header 151 Test lamps... 15 6.44 Header 150 Request individual accept counter... 16 6.45 Header 149 Request individual error counter... 16 6.46 Header 148 Read opto voltages... 16 6.47 Header 147 Perform stacker cycle... 17 6.48 Header 146 Operate bi-directional motors... 17 6.49 Header 145 Request currency revision... 17 Page 3 of 24

6.50 Header 144 Upload bill tables... 17 6.51 Header 143 Begin bill table upgrade... 18 6.52 Header 142 Finish bill table upgrade... 18 6.53 Header 141 Request firmware upgrade capability... 18 6.54 Header 140 - Upload firmware... 18 6.55 Header 139 Begin firmware upgrade... 18 6.56 Header 138 Finish firmware upgrade... 18 6.57 Header 137 Switch encryption code... 18 6.58 Header 136 Store encryption code... 19 6.59 Header 129 Read barcode data... 19 6.60 Header 91 Request currency specification id... 19 6.61 Header 90 Read note image... 19 6.62 Header 89 Clear audit data... 20 6.63 Header 4 Request comms revision... 20 6.64 Header 3 Clear comms status variables... 20 6.65 Header 2 Request comms status variables... 21 6.66 Header 1 - Reset device... 21 7. Event Code Table... 22 8. Fault Code Table... 22 9. Note Table Programming Procedure... 23 10. Firmware Programming Procedure... 24 Page 4 of 24

1. Introduction This document describes the cctalk protocol implementation on Ardac Elite. Not all aspects of the protocol are covered reference should be made to the cctalk generic specification which was at issue 4.5 at the time of this publication. The generic specification explains the historical context and the packet structuring of cctalk in great detail. For a copy of the latest cctalk generic specification, visit the following web site http://www.cctalk.org/ 2. General Ardac Elite implements cctalk on 3 interface ports. 1. Ardac Elite Front Diagnostic cctalk b921.p3.v12.a5.d0.cusb.m0.x8.e0.i5.r4 i.e. 921,600 baud, USB via FTDI hardware, +12V supply, +5V data, supply sink, USB connector, slave device, 8-bit checksum, no encryption, minor release 5, major release 4 This connection provides a fast diagnostic port using cctalk over USB. Approx 1Mbps. 2. Ardac Elite Rear USB cctalk b921.p3.v12.a5.d0.cusb.m0.x8.e0.i5.r4 i.e. 921,600 baud, USB via FTDI hardware, +12V supply, +5V data, supply sink, USB connector, slave device, 8-bit checksum, no encryption, minor release 5, major release 4 This connection provides a fast machine interface using cctalk over USB. Approx 1Mbps. 3. Ardac Elite Rear Multi-Drop cctalk b96.p0.v12.a5.d0.c5.m0.x8.e0.i5.r4 i.e. 9600 baud, open-collector, +12V supply, +5V data, supply sink, connector type 5, slave device, 8-bit checksum, no encryption, minor release 5, major release 4 This connection provides a multi-drop cctalk interface at 9600 baud compatible with a wide range of coin acceptors and payout devices. Ardac Elite may be daisy-chained with these other devices. If 16-bit CRC checksums and encryption are required for additional security then specify this option when ordering. 3. USB Operation cctalk has been implemented over USB using hardware interface chips provided by FTDI. Host software can talk to Ardac Elite through a virtual COM port ( VCOM ) or directly through an API. Drivers can be obtained royalty-free for most operating systems from the manufacturer s web site. Download drivers for FTDI FT232RQ USB UART at http://www.ftdichip.com. Page 5 of 24

Note that drivers are usually provided on CD when ordering support equipment from Money Controls. 4. Inhibit Operation When Ardac Elite powers-up or is reset, the individual note inhibits are read from EEPROM. The default condition is that all 64 notes are enabled. However, no note acceptance is possible until the master inhibit flag is cleared with header 228, Modify master inhibit status. If a note is disabled in EEPROM then the note will appear inhibited when using header 230, Request inhibit status. However, if you attempt to enable it using header 231, Modify inhibit status, this will appear to work but when you read the inhibits back the inhibit status of that note will not have changed. In other words, EEPROM inhibits acts as master overrides. A factory or macro disabled note cannot be re-enabled by the host machine. It is also possible to enable DIP switch inhibits on Ardac Elite for cctalk. Again, these act as master inhibits and override any cctalk settings. 5. Credit Poll Timeout Ardac Elite has a safety feature that prevents note acceptance if the host machine stops polling. If the master inhibit is cleared, the host must poll at least every 5s otherwise the device will selfinhibit. This results in the master inhibit flag being set, a Master inhibit active event being placed in the credit buffer and the bezel lamps switching off. If the host resumes polling then it must clear the master inhibit flag with header 228, Modify master inhibit status, before notes can be accepted again. Page 6 of 24

6. Supported Command List 6.1 Header 254 Simple poll 6.2 Header 253 Address poll Refer to generic specification. When using cctalk over USB there is no need for address resolution as USB uses hubs to logically separate peripherals from one another. Each USB connection is to a single peripheral and in this case where a virtual COM port is created, each peripheral enumerates as a new COM port in the host operating system. The cctalk destination address must still be provided and must still match the peripheral but it isn t actually used to direct a message packet to one peripheral out of many as this is done at the connection level. When using cctalk on a multi-drop interface then the Address poll command can still be used. 6.3 Header 252 Address clash Refer to generic specification and the Address poll command above. 6.4 Header 251 Address change Refer to generic specification and the Address poll command above. 6.5 Header 250 Address random Refer to generic specification and the Address poll command above. 6.6 Header 249 Request polling priority Received data : [ units ] [ value ] Returns [ 1 ] [ 200 ] = 200ms 6.7 Header 247 Request variable set Received data : [ no. of bills ] [ no. of banks ] [ power-up status ] Returns [ 64 ] [ 1 ] [ xxx ] = 1 bank of 64 bills supported concurrently [ power-up status ] 0 initialising 255 power-up & self-calibration completed Page 7 of 24

6.8 Header 246 - Request manufacturer id Received data : MCI 6.9 Header 245 Request equipment category id Received data : Bill Validator 6.10 Header 244 Request product code Received data : Ardac6 This is the internal name for Ardac Elite. 6.11 Header 242 Request serial number Received data : [ serial 1 ] [ serial 2 ] [ serial 3 ] 6.12 Header 241 Request software revision Received data : AE?-F1-Vx.xx or AE?-F1-Vmmnn 12 character string.? = single letter core firmware identifier : C = cctalk protocol N = IGT Netplex protocol U = IGT USB Class protocol 3 = JCM ID003 protocol A = AGI USB protocol x.xx = major.minor revision code 0.00 to 9.99 mmnn = major minor revision code 10.00 to 99.99 ( no decimal point in string but implied ) 6.13 Header 238 Test output lines Transmitted data : [ control ] [ control ] B0 Ready line B1 B2 Status LED ( red = 01, green = 10, yellow = 11 ) B3 UV & Barcode LEDs Set bit to 1 to switch on output line. Output lines are operated for 500ms. Page 8 of 24

6.14 Header 237 Read input lines Received data : [ DIP SW1 ] [ DIP SW2 ] [ front left pos LSB ] [ front left pos MSB ] [ front right pos LSB ] [ front right pos MSB ] [ rear note present LSB ] [rear note present MSB ] [ UV sensor LSB ] [ UV sensor MSB ] [ flag indicators ] [ stacker home LSB ] [ stacker home MSB ] [ flag indicators ] B0 rear clear ( microswitch non-return hook, 1 = obstructed ) B1 stacker present ( inverted polarity, 0 = present ) B2 stacker home (inverted polarity, 0 = home ) ( A subset of this data is also available using Read opto voltages ) 6.15 Header 236 Read opto states Received data : [ opto states 1 ] [ opto states 2 ] [ opto states 1 ] B0 front left pos B1 front right pos B2 validation note present ( based on TAOS sensor readings ) B3 rear clear ( microswitch non-return hook ) B4 rear note present ( head exit sensor ) B5 string sensor [ opto states 2 ] B0 barcode receiver 1 B1 barcode receiver 2 B2 barcode receiver 3 6.16 Header 235 Read last credit or error code Received data : [ credit or error code ] [ credit or error code ] 0 to 127 credit code 128 to 255 error code For debugging use only. Use header 159 to return credits and errors via event polling. Page 9 of 24

6.17 Header 233 Latch output lines Transmitted data : [ control ] [ control ] B0 Ready line B1 B2 Status LED ( red = 01, green = 10, yellow = 11 ) B3 UV & Barcode LEDs Set bit to 1 to switch on output line. 6.18 Header 232 Perform self-check Received data : [ fault code ] { [ extra info ] } See the Fault Code Table for a list of possible fault codes. 6.19 Header 231 Modify inhibit status Transmitted data : [ inhibit 1 ] [ inhibit 2 ] [ inhibit 3 ] [ inhibit 4 ] [ inhibit 5 ] [ inhibit 6 ] [ inhibit 7 ] [ inhibit 8 ] Bit Mask: [ inhibit 1 ] MSB = Bill 8 / LSB = Bill 1 [ inhibit 2 ] MSB = Bill 16 / LSB = Bill 9 [ inhibit 3 ] MSB = Bill 24 / LSB = Bill 17 [ inhibit 4 ] MSB = Bill 32 / LSB = Bill 25 [ inhibit 5 ] MSB = Bill 40 / LSB = Bill 33 [ inhibit 6 ] MSB = Bill 48 / LSB = Bill 41 [ inhibit 7 ] MSB = Bill 56 / LSB = Bill 49 [ inhibit 8 ] MSB = Bill 64 / LSB = Bill 57 Using the bit mask, any combination of 64 bills can be inhibited or enabled. Use bit value 0 to inhibit, 1 to enable. Inhibit status after power-up Inhibit status after software reset Inhibit status storage All bills enabled All bills enabled Volatile 6.20 Header 230 Request inhibit status Received data : [ inhibit 1 ] [ inhibit 2 ] [ inhibit 3 ] [ inhibit 4 ] [ inhibit 5 ] [ inhibit 6 ] [ inhibit 7 ] [ inhibit 8 ] See header 231. Page 10 of 24

6.21 Header 228 Modify master inhibit status Transmitted data : [ XXXXXXX master inhibit status ] Set master inhibit status to 0 to inhibit, 1 to enable. Master inhibit status after power-up Master inhibit status after software reset Master inhibit status storage Inhibited Inhibited Volatile The master inhibit status can be set by the host machine or the bill validator itself. If the bill validator self-inhibits then event code [ 0 ] is placed on the event stack. The bill validator may self-inhibit for the following reasons Host poll timeout Stacker full 6.22 Header 227 Request master inhibit status Received data : [ XXXXXXX master inhibit status ] See header 227. 6.23 Header 226 Request insertion counter Received data : [ count 1 ] [ count 2 ] [ count 3 ] Returns the combined value of the Life accept counter plus Life reject counter in EEPROM. This is the total number of notes inserted into the bill validator, regardless of denomination. 6.24 Header 225 Request accept counter Received data : [ count 1 ] [ count 2 ] [ count 3 ] Returns the value of the Life accept counter in EEPROM. This is the total number of accepted notes, regardless of denomination. 6.25 Header 216 Request data storage availability Received data : [ memory type ] [ read blocks ] [ read bytes per block ] [ write blocks ] [ write bytes per block ] Returns [ 0 ] [ 0 ] [ 0 ] [ 0 ] [ 0 ] to indicate none available. Page 11 of 24

6.26 Header 213 Request option flags Received data : [ option flags ] These can be decoded as Bit Position Feature Supported? 0 stacker Yes 1 escrow Yes 2 individual bill accept counters Yes 3 individual error counters Yes 4 non-volatile counters Yes 5 bill teach facility No 6 bill security tuning No 7 remote bill programming Yes 6.27 Header 197 Calculate ROM checksum Received data : [ checksum 1 ] [ checksum 2 ] [ checksum 3 ] [ checksum 4 ] This command calculates a CRC32 checksum for the entire core firmware. The note tables have their own individual checksums so updating currency tables does not change this 32-bit value. 6.28 Header 196 Request creation date Received data : [ date code LSB ] [ date code MSB ] Supported. 6.29 Header 195 Request last modification date Received data : [ date code LSB ] [ date code MSB ] Supported. 6.30 Header 194 Request reject counter Received data : [ count 1 ] [ count 2 ] [ count 3 ] Returns the value of the Life reject counter in EEPROM. Page 12 of 24

6.31 Header 193 Request fraud counter Received data : [ count 1 ] [ count 2 ] [ count 3 ] Returns the value of the Tamper reject counter in EEPROM. 6.32 Header 192 Request build code Received data : ASCII Returned strings : Standard standard build with single-sided barcode reader ( older models ) STD00001 standard build with single-sided barcode reader ( down-stack configuration ) STD00002 standard build with double-sided barcode reader ( up-stack & down-stack ) 6.33 Header 178 Request bank select Received data : [ bank no. ] Returns [ 0 ] as this is the only active bank. 6.34 Header 170 Request base year Received data : 2006 6.35 Header 169 Request address mode Received data : [ address mode ] Data returned as follows Address in ROM Address in RAM Address in EEPROM Address via Connector Address via Links Address via Switch Serial address volatile Serial address permanent No No Yes No No No No Yes Page 13 of 24

6.36 Header 159 Read buffered bill events Received data : [ event counter ] [ result 1A ] [ result 1B ] [ result 2A ] [ result 2B ] [ result 3A ] [ result 3B ] [ result 4A ] [ result 4B ] [ result 5A ] [ result 5B ] See the Event Code Table for a list of possible event codes. Note that the event counter wraps from 255 to 1. An event counter of zero indicates power-up or reset. Note also that a credit code of 255 is reserved for a coupon or ticket. 6.37 Header 157 Request bill id Transmitted data : [ bill type ] Received data : [ char 1 ] [ char 2 ] [ char 3 ] [ char 4 ] [ char 5 ] [ char 6 ] [ char 7 ] Supported. [ bill type ] is a value between 1 and 64. Note that header 158, Modify bill id, is not supported for security reasons. 6.38 Header 156 Request country scaling factor Transmitted data : [ country char 1 ] [ country char 2 ] Received data : [ scaling factor LSB ] [ scaling factor MSB ] [ decimal places ] e.g. [ 100 ] [ 0 ] [ 2 ] scaling factor 100 and 2 decimal places [ 0 ] [ 0 ] [ 0 ] country code not recognised 6.39 Header 155 Request bill position Transmitted data : [ country char 1 ] [ country char 2 ] Received data : [ mask 1 ] [mask 2 ] [mask 3 ] [mask 4 ] [mask 5 ] [mask 6 ] [mask 7 ] [mask 8 ] Returns the bit position mask for a given currency. e.g. if sending EU returns [ 127 ] [ 0 ] [ 0 ] [ 0 ] [ 0 ] [ 0 ] [ 0 ] [ 0 ] then Euro notes are programmed into bill positions 1 to 7 ( 127 in binary = 01111111 ) Page 14 of 24

6.40 Header 154 Route bill Transmitted data : [ route code ] or [ error code ] Supported. 6.41 Header 153 Modify bill operating mode Transmitted data : [ mode control mask ] [ mode control mask ] B0 - stacker B1 - escrow 0 = do not use, 1 = use The Ardac Elite operates with a stacker and escrow according to the following rules. Configuration Stacker after Escrow after Stacker Escrow Power-up / Reset Power-up / Reset Enable/Disable Enable/Disable Head Only No Yes No Yes Head + Chassis ( stacker fitted ) Head + Chassis ( stacker missing ) Yes Yes No Yes Yes Yes Yes Yes 6.42 Header 152 Request bill operating mode Received data : [ mode control mask ] See header 153. 6.43 Header 151 Test lamps Transmitted data : [ lamp no. ] [ lamp control ] [ lamp no. ] 1 = bezel lamps [ lamp control ] 0 = automatic 1 = off 2 = on Page 15 of 24

6.44 Header 150 Request individual accept counter Transmitted data : [ bill type ] Received data : [ count 1 ] [ count 2 ] [ count 3 ] [ bill type ] is a value between 1 and 64. Returns the number of accepted notes of the given bill type ( i.e. denomination ). These counters are stored in EEPROM. 6.45 Header 149 Request individual error counter Transmitted data : [ error type ] Received data : [ count 1 ] [ count 2 ] [ count 3 ] [ error type ] 1 Life Reject Counter 2 Validation Reject Counter 3 Handling Reject Counter 4 Transport Reject Counter 5 Tamper Reject Counter 6 DIP Switch Inhibit Counter 7 Host Inhibit Counter 8 Host Reject Counter 9 Jam Counter Returns the total number of errors of the given error type number. These counters are stored in EEPROM. An unrecognised error type number returns a default counter value of 16,777,215. 6.46 Header 148 Read opto voltages Received data : [ front left pos LSB ] [ front left pos MSB ] [ front right pos LSB ] [ front right pos MSB ] [ rear note present LSB ] [rear note present MSB ] [ UV sensor LSB ] [ UV sensor MSB ] [ stacker home LSB ] [ stacker home MSB ] This data is also available using the Read input lines command. Voltages are measured with a 10-bit A/D referenced to 3.3V. Data is returned as an unsigned integer. 0 0.0V 1023 3.3V Page 16 of 24

6.47 Header 147 Perform stacker cycle or [ error code ] [ error code ] 254 - stacker fault 255 - stacker not fitted 6.48 Header 146 Operate bi-directional motors Transmitted data : [ motor mask ] [ direction flags ] [ speed ] [ motor mask ] B0 - transport motor ( 0 = motor off, 1 =motor on ) B1 - stacker motor [ direction flags ] B0 - transport motor ( 0 = backwards, 1 = forwards ) B1 - stacker motor [ speed ] 0 - default speed ( PWM controlled to ensure 1ms tach time ) 1 to 255 - relative speed number. 1 = slowest, 255 = fastest. The motor may stall if the PWM value is too small. The motor may be damaged if operating continuously at high PWM and high supply voltage. 6.49 Header 145 Request currency revision or [ country char 1 ] [ country char 2 ] Received data : [ char 1 ] [ char 2 ] [ char 3 ] or Unknown The currency revision is returned as 3 x ASCII numeric characters e.g. 001 If no country code is supplied then the global table revision is returned as stored in the header of the note table file. If a country code is supplied then the revision of the first note in the note table with a matching country code is returned :- which may be different to other notes within that country. If the revision number of an unsupported country code is requested then the string Unknown is returned. 6.50 Header 144 Upload bill tables Transmitted data : [ block ] [ line ] [ data 1 ] [ data 2 ] [ data 128 ] See Note Table Programming Procedure. Page 17 of 24

6.51 Header 143 Begin bill table upgrade See Note Table Programming Procedure. 6.52 Header 142 Finish bill table upgrade or NAK See Note Table Programming Procedure. 6.53 Header 141 Request firmware upgrade capability Received data : [ firmware options ] Returns [ firmware options ] = 1, firmware is in FLASH memory and may be upgraded. 6.54 Header 140 - Upload firmware Transmitted data : [ block ] [ line ] [ data 1 ] [ data 2 ] [ data 128 ] See Firmware Programming Procedure. 6.55 Header 139 Begin firmware upgrade See Firmware Programming Procedure. 6.56 Header 138 Finish firmware upgrade See Firmware Programming Procedure. 6.57 Header 137 Switch encryption code Transmitted data : [ sec 2 sec 1 ] [ sec 4 sec 3 ] [ sec 6 sec 5 ] Supported. Page 18 of 24

6.58 Header 136 Store encryption code Supported. 6.59 Header 129 Read barcode data Received data : ASCII or ACK This command returns the last scanned barcode in ASCII. For example, an 18 digit Interleaved 2 of 5 barcode may return 475962575587710231 If the last barcode was not valid then no data is returned. ACK only. The host machine can read the barcode data after receiving a [ 0 ] [ 20 ] event code, Barcode detected, when polling with header 159, Read buffered bill events. 6.60 Header 91 Request currency specification id Received data : ASCII Returns the 10 character string in the note table e.g. EU\001. Right padded with spaces. 6.61 Header 90 Read note image Transmitted data : [ mode image format ] Received data : [ data 1 ] [ data 2 ] [ data 3 ]... [ data 204 ] Data transferred = 102 pixels x 150 lines = 15,300 bytes Transferred 204 bytes at a time = 75 blocks exactly [ mode xxxx ] upper nibble, bits 7 to 4 0 return next image data block 1 return first image data block ( the first command in a block transfer - it can also be used to restart the transfer from the beginning. ) [ xxxx image format ] lower nibble, bits 3 to 0 0 top greyscale image, 75 blocks of 204 bytes 1 bottom greyscale image, 75 blocks of 204 bytes 2 top colour image, 225 blocks of 204 bytes 3 bottom colour image, 225 blocks of 204 bytes Page 19 of 24

Image data is transferred block by block. Each block consists of 204 bytes. There are 75 blocks for a greyscale image and 225 blocks for a colour image. It is up to the host software to request the correct number of blocks. Greyscale images are encoded 1 byte per pixel. A value of 0 represents black and 255 white. Colour images are encoded 3 bytes per pixel. Pixels are sent in RGB triples. First a [ Red ] byte then a [ Green ] byte then a [ Blue ] bye. So each block of 204 bytes contains the data for 68 pixels. The image is transferred to the display device from the serial receive buffer column by column. Each column consists of 102 pixels. There are 150 columns in total for both greyscale and colour images. The display mapping order for the serial receive buffer is as follows 6.62 Header 89 Clear audit data Clears the reset-able audit data within the Elite EEPROM. 6.63 Header 4 Request comms revision Received data : [ cctalk level ] [ major revision ] [ minor revision ] Returns [ cctalk level ] = 1 [ major revision ] = 4 [ minor revision ] = 5 6.64 Header 3 Clear comms status variables Page 20 of 24

6.65 Header 2 Request comms status variables Received data : [ rx timeouts ] [ rx bytes ignored ] [ rx bad checksums ] [ rx bytes ignored ] always returns zero as the receive buffer is deep enough to hold the maximum cctalk packet size. 6.66 Header 1 - Reset device After an ACK is returned, if the stacker is attached then a couple of stacker cycles are executed which may take 8s. The host software should not send another command for 10s after the reset command is sent to ensure the device has completed initialisation and is ready for other commands. Page 21 of 24

7. Event Code Table Result A Result B Event Supported? 1 to 64, 0 Bill or coupon validated correctly and 255 sent to cashbox / stacker 1 to 64, 1 Bill or coupon validated correctly and 255 held in escrow 0 0 Master inhibit active 0 1 Bill returned from escrow 0 2 Invalid bill ( due to validation fail ) 0 3 Invalid bill ( due to transport problem ) 0 4 Inhibited bill ( on serial ) 0 5 Inhibited bill ( on DIP switches ) 0 6 Bill jammed in transport ( unsafe mode ) 0 7 Bill jammed in stacker 0 8 Bill pulled backwards 0 9 Bill tamper 0 10 Stacker OK 0 11 Stacker removed 0 12 Stacker inserted 0 13 Stacker faulty 0 14 Stacker full 0 15 Stacker jammed 0 16 Bill jammed in transport ( safe mode ) 0 17 Opto fraud detected 0 18 String fraud detected 0 19 Anti-string mechanism faulty 0 20 Barcode detected 8. Fault Code Table Code Fault Optional Extra Info Supported? 01 EEPROM checksum corrupted - 30 ROM checksum mismatch - 36 Fault on bill validation sensor Return cctalk measurement index 1 to 14 37 Fault on bill transport motor - 38 Fault on stacker - 39 Bill jammed - 40 RAM test fail - 41 Fault on string sensor - 44 Stacker missing - 45 Stacker full - Page 22 of 24

9. Note Table Programming Procedure A typical filename for a currency is EU-001 ISSUE 014.tab. The extension tab refers to a table. Note tables have a fixed size of 120K ( 122,880 bytes ). They contain the validation data for all notes within that currency. B ARDAC6 64 EU\001-014 There is a 26 byte ASCII header to the file which shows the currency identification. The rest of the file is in binary format. The entire file must transferred to Elite, 128 bytes at a time. No modifications to the data must be made. In the example above : B = Bill Validator File ARDAC6 = Project Name for Ardac Elite 64 = Maximum Programmed Notes EU = Currency Identifier ( ISO 3166 format ) 001 = Currency Specification ID 014 = Currency Specification Issue If cctalk protocol encryption is enabled then it must be left enabled for note table programming. Step 1. Send cctalk command Begin bill table upgrade TX data : < none > RX data : ACK Wait up to 3s for reply Step 2. Send cctalk command Upload bill tables header General format of TX data is [ block ] [ line ] [ data 1 ] [ data 2 ] [ data N ] where N <= 128 TX data : [ 0 ] [ 0 ] [ 1 ] [ 0 ] [ 0 ] RX data : ACK Wait up to 2s for reply Block 0, line 0 begins the upload sequence with [ data 1 ] = 1, [ data 2 ] = 0 and [ data 3 ] = 0 Step 3. Send cctalk command Upload bill tables data For block = 1 to last_block For line = 0 to 255 TX data : [ block ] [ line ] [ data 1 ] [ data 128 ] RX data : ACK Wait up to 2s for reply Next Next Loop until all the file data is sent. The last line may contain less than 128 bytes of data. Page 23 of 24

Step 4. Send cctalk command Finish bill table upgrade TX data : < none > RX data : ACK or NAK Wait up to 10s for reply A NAK is returned if the table file does not have the correct format. 10. Firmware Programming Procedure A typical filename for firmware programming is AEC-F1-V1101.bin. The extension bin refers to a binary. File size is 128K ( 131,072 bytes ). In this example AEC = Ardac Elite cctalk core F1 = Flash 1 module V1101 = Version 11.01 ( core 11 ) It is possible to combine the firmware with a note table and program the entire file as firmware. In this case the file size is 248K ( 253,952 bytes ). The data inside each file is in binary format. The entire file must transferred to Elite, 128 bytes at a time. No modifications to the data must be made. If cctalk protocol encryption is enabled then it must be left enabled for firmware programming. Step 1. Send cctalk command Begin firmware upgrade TX data : < none > RX data : ACK Wait up to 3s for reply Step 2. Send cctalk command Upload firmware Format of TX data is [ block ] [ line ] [ data 1 ] [ data 2 ] [ data N ] where N <= 128 For block = 0 to last_block For line = 0 to 255 TX data : [ block ] [ line ] [ data 1 ] [ data 128 ] RX data : ACK Wait up to 2s for reply Next Next Loop until all the file data is sent. The last line may contain less than 128 bytes of data. Step 3. Send cctalk command Finish firmware upgrade TX data : < none > RX data : ACK or NAK Wait up to 10s for reply A NAK is returned if the firmware file does not have the correct format. Page 24 of 24