]> cvs.zerfleddert.de Git - proxmark3-svn/blame - common/crc16.c
Reworked how to call 'standard' stuff from within lua scripts, so now it's much simpl...
[proxmark3-svn] / common / crc16.c
CommitLineData
bd20f8f4 1//-----------------------------------------------------------------------------
2// This code is licensed to you under the terms of the GNU GPL, version 2 or,
3// at your option, any later version. See the LICENSE.txt file for the text of
4// the license.
5//-----------------------------------------------------------------------------
6// CRC16
7//-----------------------------------------------------------------------------
8
fdcc61d3 9#include "crc16.h"
10
11unsigned short update_crc16( unsigned short crc, unsigned char c )
12{
13 unsigned short i, v, tcrc = 0;
14
15 v = (crc ^ c) & 0xff;
16 for (i = 0; i < 8; i++) {
17 tcrc = ( (tcrc ^ v) & 1 ) ? ( tcrc >> 1 ) ^ 0x8408 : tcrc >> 1;
18 v >>= 1;
19 }
20
21 return ((crc >> 8) ^ tcrc)&0xffff;
22}
Impressum, Datenschutz