Moved to library
This commit is contained in:
@@ -1,63 +0,0 @@
|
|||||||
/* please read copyright-notice at EOF */
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#define CRC8INIT 0x00
|
|
||||||
#define CRC8POLY 0x18 //0X18 = X^8+X^5+X^4+X^0
|
|
||||||
|
|
||||||
uint8_t crc8( uint8_t *data, uint16_t number_of_bytes_in_data )
|
|
||||||
{
|
|
||||||
uint8_t crc;
|
|
||||||
uint16_t loop_count;
|
|
||||||
uint8_t bit_counter;
|
|
||||||
uint8_t b;
|
|
||||||
uint8_t feedback_bit;
|
|
||||||
|
|
||||||
crc = CRC8INIT;
|
|
||||||
|
|
||||||
for (loop_count = 0; loop_count != number_of_bytes_in_data; loop_count++)
|
|
||||||
{
|
|
||||||
b = data[loop_count];
|
|
||||||
|
|
||||||
bit_counter = 8;
|
|
||||||
do {
|
|
||||||
feedback_bit = (crc ^ b) & 0x01;
|
|
||||||
|
|
||||||
if ( feedback_bit == 0x01 ) {
|
|
||||||
crc = crc ^ CRC8POLY;
|
|
||||||
}
|
|
||||||
crc = (crc >> 1) & 0x7F;
|
|
||||||
if ( feedback_bit == 0x01 ) {
|
|
||||||
crc = crc | 0x80;
|
|
||||||
}
|
|
||||||
|
|
||||||
b = b >> 1;
|
|
||||||
bit_counter--;
|
|
||||||
|
|
||||||
} while (bit_counter > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return crc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
This code is from Colin O'Flynn - Copyright (c) 2002
|
|
||||||
only minor changes by M.Thomas 9/2004
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#ifndef CRC8_H_
|
|
||||||
#define CRC8_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
uint8_t crc8( uint8_t* data, uint16_t number_of_bytes_in_data );
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
This is based on code from :
|
|
||||||
|
|
||||||
Copyright (c) 2002 Colin O'Flynn
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "crc8.c"
|
|
||||||
Reference in New Issue
Block a user