NEO 2 Interface Developer’s Guide
Copyright © 2019, International Technologies & Systems Corporation. All rights reserved.
107
If the host fails to receive the track data, it can send a NACK frame to request the reader to
resend the track data. To ensure that the reader resends the track data, the NACK frame must
be received within 500ms after it sends the original track data. If the reader receives the NACK
Frame within that time period, it first resends the ACK Frame followed by the data frame to
PC. If the reader receives the NACK frame after 500ms of sending out the original track data,
or if a new card has been detected, the reader sends an ACK or NACK frame to the host and
does not resend the track data. Each data payload is only re-sent one time.
Response Frame NACK Frame from PC to the ViVOpay Reader
Byte 0-8
Byte 9
Byte 10
Byte 11
Byte 12
Byte 13
Byte 14
Byte 15
Frame Tag
Frame
Type
Command
Status
Data1
Data2
CRC
(MSB)
CRC
(LSB)
ViVOtech\0
‘N’
17h
00h
00
00
ACK Frame from the ViVOpay Reader
Byte 0-8
Byte 9
Byte 10
Byte 11
Byte 12
Byte 13
Byte 14
Byte 15
Frame Tag
Frame Type
Command
Status
Data1
Data2
CRC
(MSB)
CRC
(LSB)
ViVOtech\0
‘A’
17h
Status
Tracks
DataLen
Status:
OK (see
Tracks
Example
Bit 0 = Track 1
Track = 00h => No Track Data
Bit 1 = Track 2
Track = 01h => Track 1 Data Only
Bit 3 = Track 3
Track = 02h => Track 2 Data Only
Track = 03h => Track 1 & Track 2 Data and so on.
DataLen:
Number of data bytes in the data frame to follow. This does not include the frame
tag, frame type and checksum bytes.
Data Frame from the ViVOpay Reader to PC (If reader sent an ACK and track data is available)
Byte 0-8
Byte 9
Byte 10
Byte 11
…
Byte n+10
Byte n+11
Byte n+12
Frame Tag
Frame Type
Data 0
Data 1
…
Data n
CRC
(MSB)
.
CRC
(LSB)
.
ViVOtech\0
‘D’
Data
Data
…
Data