15
Description of the frames emitted when reading the databases (PetSCAN memory option)
If a PetScan reader has a memory option, when « Press SCAN to send » is displayed, the reader is ready to transmit the
identifiers stored in the memory. The PetScan displays « Sending ! » during transmission and the reader offers the user the
option of deleting the content of its database at the end of the transmission.
Format of the frames transmitted to the PC : the frame which is transmitted on each reading of a transponder is preceded by
a header octet ″/xAA″, its 4 character registration number in the memory and a separation character ″*″.
Algorithm for calculating aCRC-CCITT-16bit control word
The C ANSI function’s source code enabling a control word to be calculated from a string of characters terminating with the
character ″/x00″ is described below. The JAVA applet on the «
http://www.zorc.breitbandkatze.de/crc.html
you to also calculate the control word. Previously the fields had to be correctly completed before making the CRC
calculation and a check made that the control word is equal to 0xE5CC or the ″123456789″ character string.
/*=======================================================================*/
/* Function that calculates CRC-CCITT 16 bits
/* INPUT:
/* unsigned char *inbuffer : 8 bits input vector over which CRC checksum is calculated
/* must termined by 0x00
/* OUTPUT:
/* unsigned int: 16 bits return of crc_ccitt checksum
/*=======================================================================*/
/* OVERVIEW:
/*
Width = 16 bits
/*
Truncated polynomial = 0x1021
/*
Initial value = 0xFFFF
/*
No XOR is performed on the output CRC
/* DESCRIPTION:
/* Computing a POLY number from the crc equation.
/* Crc s are usually expressed as an polynomial expression such as:
/*
/*
x^16 + x^12 + x^5 + 1
/* CHECK
/*
0xE5CC This is the checksum for the ascii string "123456789"
/* EXAMPLE
/* http://www.zorc.breitbandkatze.de/crc.html
*=======================================================================*/
#define crc_poly 0x1021
// Polynome du CRC-CCITT-16Bits
unsigned int crc_ccitt16 (unsigned char *inbuffer) {
unsigned int crc_checksum = 0xffff;
unsigned char ch;
char i,xor_flag;
while ( *inbuffer!=0)
{
ch = *i+;
for(i=0; i<8; i++)
{
xor_flag=(crc_checksum & 0x8000)? 1:0;
crc_checksum = crc_checksum << 1;
if (ch & 0x80) crc_c+;
if (xor_flag) crc_checksum = crc_checksum ^ crc_poly;
ch = ch << 1;
o
4 char
n
Separ
ob
The typ
(or
The 1
Separ
*″:
CRC-
16
ASCII f
s
C
o
Data used to calculate the CRC
Start of
frame
octet : ″/
xAA″
4 character
registration
number
Separation
octet: ″*″
Start of
information
object : ″U″
″/x55″
The type
of 8
character
(or octet)
chip)
The 16
character
(or octet)
chip
identifier)
Separati
on of
octet: ″*
″:
CRC-CCITT-cont
rol
word,
16
ASCII format bits
on 4 characters
Carriage
return
octet: ″/x
0D″
Summary of Contents for RT100 V8BT
Page 8: ...8 Bluetooth Disable Scan Disable Bluetooth Bluetooth Button IN OUT Scan 1 2 3 4 5 ...
Page 22: ...22 Application open within 5 seconds Excel Connect Simple view only ISO number ...
Page 23: ...23 Showing all data ...
Page 36: ...36 Erase complete history or Files containing this information can be transferred ...
Page 38: ...38 Deleting the database completely Files containing this information can be transfered ...
Page 48: ...48 Selective deletion Deleting the database completely ...
Page 49: ...49 Send Carrying out a search in the database can be done by Chip ID or by name or by address ...