manually merged with ARM version
This commit is contained in:
75
x502api-1.1.34/lib/crc/fast_crc.h
Normal file
75
x502api-1.1.34/lib/crc/fast_crc.h
Normal file
@ -0,0 +1,75 @@
|
||||
/*================================================================================================*
|
||||
* Контрольные суммы CRC-16 и CRC-32 с повышенной скоростью вычислений
|
||||
*================================================================================================*/
|
||||
|
||||
#ifndef FAST_CRC_H_
|
||||
#define FAST_CRC_H_
|
||||
|
||||
#include "fast_crc_cfg.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*================================================================================================*/
|
||||
/* Вычисление CRC16 (CCITT, 0x1021) */
|
||||
#if FASTCRC_CRC16_ADD8
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
FASTCRC_U16_TYPE CRC16_Add8 /* Добавление байта */
|
||||
(
|
||||
FASTCRC_U16_TYPE crc, /* (вх) - начальное значение */
|
||||
FASTCRC_U8_TYPE byte /* (вх) - данные */
|
||||
);
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
#endif
|
||||
|
||||
#if FASTCRC_CRC16_ADD16
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
FASTCRC_U16_TYPE CRC16_Add16 /* Добавление 16-битного слова (младший байт первым) */
|
||||
(
|
||||
FASTCRC_U16_TYPE crc, /* (вх) - начальное значение */
|
||||
FASTCRC_U16_TYPE word /* (вх) - данные */
|
||||
);
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
#endif
|
||||
|
||||
#if FASTCRC_CRC16_BLOCK8
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
FASTCRC_U16_TYPE CRC16_Block8 /* Вычисление CRC16 блока байтов */
|
||||
(
|
||||
FASTCRC_U16_TYPE crc, /* (вх) - начальное значение */
|
||||
const FASTCRC_U8_TYPE* pdata, /* (вх) - данные */
|
||||
FASTCRC_SIZE_TYPE num_bytes /* (вх) - размер данных */
|
||||
);
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
#endif
|
||||
|
||||
#if FASTCRC_CRC16_BLOCK16
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
FASTCRC_U16_TYPE CRC16_Block16 /* Вычисление CRC16 блока 16-битных слов */
|
||||
(
|
||||
FASTCRC_U16_TYPE crc, /* (вх) - начальное значение */
|
||||
const FASTCRC_U16_TYPE* pdata, /* (вх) - данные */
|
||||
FASTCRC_SIZE_TYPE num_words /* (вх) - размер данных */
|
||||
);
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
#endif
|
||||
|
||||
/* Вычисление CRC32 (CCITT) */
|
||||
#if FASTCRC_CRC32_BLOCK8
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
FASTCRC_U32_TYPE CRC32_Block8 /* Вычисление CRC32 блока байтов */
|
||||
(
|
||||
FASTCRC_U32_TYPE crc, /* (вх) - начальное значение (при первом блоке 0) */
|
||||
const FASTCRC_U8_TYPE* pdata, /* (вх) - данные */
|
||||
FASTCRC_SIZE_TYPE num_bytes /* (вх) - размер данных */
|
||||
);
|
||||
/*------------------------------------------------------------------------------------------------*/
|
||||
#endif
|
||||
/*================================================================================================*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* FAST_CRC_H_ */
|
||||
Reference in New Issue
Block a user