2 java – INFICON SQC-310 Thin Film Deposition Controller User Manual

Page 101

Advertising
background image

5 - 21

IP

N 07

4-

55

0-

P1

B

SQC-310 Operating Manual

5.4.2 Java

®

private short calcCRC(byte[] str) {
short crc = 0;
short tmpCRC;
int length = 1 + str[1] - 34;
if (length > 0) {

crc = (short) 0x3fff;
for (int jx = 1; jx <= length; jx++) {
crc = (short) (crc ^ (short) str[jx]);

for (int ix = 0; ix < 8; ix++) {
tmpCRC = crc;
crc = (short) (crc >> 1);
if ((tmpCRC & 0x1) == 1) {
crc = (short) (crc ^ 0x2001);
}
}
crc = (short) (crc & 0x3fff);
}
}
return crc;
}

private byte crcHigh(short crc) {
byte val = (byte) (((crc >> 7) & 0x7f) + 34);
return val;
}

private byte crcLow(short crc) {
byte val = (byte) ((crc & 0x7f) + 34);
return val;
}

5.4.3 C++

class CRC14
{
public:

CRC14(void) { crc = 0x0;};

public:

short crc;

public:

short calcCRC( unsigned char * str)
{
int length = (str != NULL) ? 1 + str[1] - 34 : 0;

Advertising