You are on page 1of 24

Ardac Elite ccTalk Product Manual TSP140 Issue 1.

0 – October 2008

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.

Money Controls 2008. All rights reserved.


Page 1 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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

Money Controls 2008. All rights reserved.


Page 2 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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

Money Controls 2008. All rights reserved.


Page 3 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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

Money Controls 2008. All rights reserved.


Page 4 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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.

Money Controls 2008. All rights reserved.


Page 5 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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 self-
inhibit. 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.

Money Controls 2008. All rights reserved.


Page 6 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6. Supported Command List

6.1 Header 254 – Simple poll

Transmitted data : <none>


Received data : ACK

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

Transmitted data : <none>


Received data : [ units ] [ value ]

Returns [ 1 ] [ 200 ] = 200ms

6.7 Header 247 – Request variable set

Transmitted data : <none>


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

Money Controls 2008. All rights reserved.


Page 7 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.8 Header 246 - Request manufacturer id

Transmitted data : <none>


Received data : ‘MCI’

6.9 Header 245 – Request equipment category id

Transmitted data : <none>


Received data : ‘Bill Validator’

6.10 Header 244 – Request product code

Transmitted data : <none>


Received data : ‘Ardac6’

This is the internal name for Ardac Elite.

6.11 Header 242 – Request serial number

Transmitted data : <none>


Received data : [ serial 1 ] [ serial 2 ] [ serial 3 ]

6.12 Header 241 – Request software revision

Transmitted data : <none>


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 ]


Received data : ACK

[ 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.

Money Controls 2008. All rights reserved.


Page 8 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.14 Header 237 – Read input lines

Transmitted data : <none>


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

Transmitted data : <none>


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

Transmitted data : <none>


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.

Money Controls 2008. All rights reserved.


Page 9 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.17 Header 233 – Latch output lines

Transmitted data : [ control ]


Received data : ACK

[ 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

Transmitted data : <none>


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 ]
Received data : ACK

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 All bills enabled


Inhibit status after software reset All bills enabled
Inhibit status storage Volatile

6.20 Header 230 – Request inhibit status

Transmitted data : <none>


Received data : [ inhibit 1 ] [ inhibit 2 ] [ inhibit 3 ] [ inhibit 4 ]
[ inhibit 5 ] [ inhibit 6 ] [ inhibit 7 ] [ inhibit 8 ]

See header 231.

Money Controls 2008. All rights reserved.


Page 10 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.21 Header 228 – Modify master inhibit status

Transmitted data : [ XXXXXXX | master inhibit status ]


Received data : ACK

Set master inhibit status to 0 to inhibit, 1 to enable.

Master inhibit status after power-up Inhibited


Master inhibit status after software reset Inhibited
Master inhibit status storage 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

Transmitted data : <none>


Received data : [ XXXXXXX | master inhibit status ]

See header 227.

6.23 Header 226 – Request insertion counter

Transmitted data : <none>


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

Transmitted data : <none>


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

Transmitted data : <none>


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.

Money Controls 2008. All rights reserved.


Page 11 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.26 Header 213 – Request option flags

Transmitted data : <none>


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

Transmitted data : <none>


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

Transmitted data : <none>


Received data : [ date code LSB ] [ date code MSB ]

Supported.

6.29 Header 195 – Request last modification date

Transmitted data : <none>


Received data : [ date code LSB ] [ date code MSB ]

Supported.

6.30 Header 194 – Request reject counter

Transmitted data : <none>


Received data : [ count 1 ] [ count 2 ] [ count 3 ]

Returns the value of the ‘Life reject counter’ in EEPROM.

Money Controls 2008. All rights reserved.


Page 12 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.31 Header 193 – Request fraud counter

Transmitted data : <none>


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

Transmitted data : <none>


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

Transmitted data : <none>


Received data : [ bank no. ]

Returns [ 0 ] as this is the only active bank.

6.34 Header 170 – Request base year

Transmitted data : <none>


Received data : ‘2006’

6.35 Header 169 – Request address mode

Transmitted data : <none>


Received data : [ address mode ]

Data returned as follows…

Address in ROM No
Address in RAM No
Address in EEPROM Yes
Address via Connector No
Address via Links No
Address via Switch No
Serial address volatile No
Serial address permanent Yes

Money Controls 2008. All rights reserved.


Page 13 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.36 Header 159 – Read buffered bill events

Transmitted data : <none>


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 )

Money Controls 2008. All rights reserved.


Page 14 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.40 Header 154 – Route bill

Transmitted data : [ route code ]


Received data : ACK or [ error code ]

Supported.

6.41 Header 153 – Modify bill operating mode

Transmitted data : [ mode control mask ]


Received data : ACK

[ 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 Yes Yes No Yes


( stacker fitted )
Head + Chassis Yes Yes Yes Yes
( stacker missing )

6.42 Header 152 – Request bill operating mode

Transmitted data : <none>


Received data : [ mode control mask ]

See header 153.

6.43 Header 151 – Test lamps

Transmitted data : [ lamp no. ] [ lamp control ]


Received data : ACK

[ lamp no. ]
1 = bezel lamps

[ lamp control ]
0 = automatic
1 = off
2 = on

Money Controls 2008. All rights reserved.


Page 15 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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

Transmitted data : <none>


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

Money Controls 2008. All rights reserved.


Page 16 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.47 Header 147 – Perform stacker cycle

Transmitted data : <none>


Received data : ACK 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 ]


Received data : ACK

[ 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

Transmitted data : <none> 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 ]


Received data : ACK

See Note Table Programming Procedure.

Money Controls 2008. All rights reserved.


Page 17 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.51 Header 143 – Begin bill table upgrade

Transmitted data : <none>


Received data : ACK

See Note Table Programming Procedure.

6.52 Header 142 – Finish bill table upgrade

Transmitted data : <none>


Received data : ACK or NAK

See Note Table Programming Procedure.

6.53 Header 141 – Request firmware upgrade capability

Transmitted data : <none>


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 ]


Received data : ACK

See Firmware Programming Procedure.

6.55 Header 139 – Begin firmware upgrade

Transmitted data : <none>


Received data : ACK

See Firmware Programming Procedure.

6.56 Header 138 – Finish firmware upgrade

Transmitted data : <none>


Received data : ACK

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 ]


Received data : ACK

Supported.

Money Controls 2008. All rights reserved.


Page 18 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.58 Header 136 – Store encryption code

Transmitted data : <none>


Received data : ACK

Supported.

6.59 Header 129 – Read barcode data

Transmitted data : <none>


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

Transmitted data : <none>


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 re-
start 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

Money Controls 2008. All rights reserved.


Page 19 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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

Transmitted data : <none>


Received data : ACK

Clears the reset-able audit data within the Elite EEPROM.

6.63 Header 4 – Request comms revision

Transmitted data : <none>


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

Transmitted data : <none>


Received data : ACK

Money Controls 2008. All rights reserved.


Page 20 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

6.65 Header 2 – Request comms status variables

Transmitted data : <none>


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

Transmitted data : <none>


Received data : ACK

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.

Money Controls 2008. All rights reserved.


Page 21 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

7. Event Code Table

Result A Result B Event Supported ?


1 to 64, 0 Bill or coupon validated correctly and 9
255 sent to cashbox / stacker
1 to 64, 1 Bill or coupon validated correctly and 9
255 held in escrow
0 0 Master inhibit active 9
0 1 Bill returned from escrow 9
0 2 Invalid bill ( due to validation fail ) 9
0 3 Invalid bill ( due to transport problem ) 9
0 4 Inhibited bill ( on serial ) 9
0 5 Inhibited bill ( on DIP switches ) 9
0 6 Bill jammed in transport ( unsafe mode ) 9
0 7 Bill jammed in stacker
0 8 Bill pulled backwards
0 9 Bill tamper 9
0 10 Stacker OK
0 11 Stacker removed 9
0 12 Stacker inserted 9
0 13 Stacker faulty 9
0 14 Stacker full 9
0 15 Stacker jammed 9
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 9

8. Fault Code Table

Code Fault Optional Extra Info Supported ?


01 EEPROM checksum corrupted - 9
30 ROM checksum mismatch - 9
36 Fault on bill validation sensor Return ccTalk measurement 9
index 1 to 14
37 Fault on bill transport motor - 9
38 Fault on stacker - 9
39 Bill jammed - 9
40 RAM test fail -
41 Fault on string sensor - 9
44 Stacker missing - 9
45 Stacker full - 9

Money Controls 2008. All rights reserved.


Page 22 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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.

Money Controls 2008. All rights reserved.


Page 23 of 24
Ardac Elite ccTalk Product Manual TSP140 Issue 1.0 – October 2008

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.

Money Controls 2008. All rights reserved.


Page 24 of 24

You might also like