EasyManua.ls Logo

Orphee MYTHIC 18 - Page 36

Orphee MYTHIC 18
68 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
5. OUTPUT FORMAT
REF : M18-SM-001 Rev 02
Page 36/68 Copyright© Orphée SA. All Rights Reserved. MYTHIC 18
Indix = byte divided by 16
Indix = Indix XOR CRC
Indix = Indix AND 000F
CRC = Table(Indix) XOR (CRC divided by 16)
Example in C language:
/*Hash table :*/
static const unsigned short ausCrcTab1[] =
{
0x0000, 0xCC01,0xD801,0x1400,0xF001,0x3C00,0x2800,0xE401,
0xA001,0x6C00,0x7800,0xB401,0x5000,0x9C01,0x8801,0x4400,
};
/* CRC computing */
unsigned short calc_crc(unsigned char *pucData, long lSize)
{
unsigned short usAcc1 = 0xFFFF;
while ( lSize > 0 )
{
/* gestion par quartet du calcul */
usAcc1 = ausCrcTab1[(*pucData ^ usAcc1) & 15] ^ (usAcc1 >> 4);
usAcc1 = ausCrcTab1[((*pucData >> 4) ^ usAcc1) & 15] ^ (usAcc1 >> 4);
pucData++;
lSize--;
}
return(usAcc1);
}
^ : XOR.
>> : Logical shift right.
& : logical AND.

Table of Contents

Other manuals for Orphee MYTHIC 18