/**
*****************************************************************************************
* Copyright(c) 2015, Realtek Semiconductor Corporation. All rights reserved.
*****************************************************************************************
* @file crc16btx.h
* @brief Cyclic Redundancy Check (CRC) Implementation for BTX,
* Polynomial: X**0 + X**2 + X**15 + X16
*
* @author gordon
* @date 2015-07-13
* @version v1.0
* *************************************************************************************
* @attention
*
© COPYRIGHT 2015 Realtek Semiconductor Corporation
* *************************************************************************************
*/
/*============================================================================*
* Define to prevent recursive inclusion
*============================================================================*/
#if ! defined (__CRC16BTX_H)
#define __CRC16BTX_H
/*============================================================================*
* Header Files
*============================================================================*/
#include
/** @defgroup CRC_FCS CRC Implementation
* @brief CRC implementation for specified polynomial
* @{
*/
/*============================================================================*
* Macro
*============================================================================*/
/** @defgroup CRC_FCS_Exported_Macros CRC Implementation Exported Macros
* @{
*/
/** defines and macros */
#define BTXFCS_INIT 0x0000 /**< Initial FCS value */
#define BTXFCS_GOOD 0x0000 /**< Good final FCS value */
/** @} */ /* End of group CRC_FCS_Exported_Macros */
/*============================================================================*
* Functions
*============================================================================*/
/** @defgroup CRC_FCS_Exported_Functions CRC Implementation Exported Functions
* @brief
* @{
*/
/**
* @brief Calculate a new fcs given the current fcs and the new data.
* Polynomial: X**0 + X**2 + X**15 + X16
*
* @param fcs: init or good final
* @param cp: data point
* @param len: length
*
* @return
*
*/
uint16_t btxfcs(uint16_t fcs,
uint8_t *cp,
uint32_t len);
/** @} */ /* End of group CRC_FCS_Exported_Functions */
/** @} */ /* End of group CRC_FCS */
#endif /**< #if ! defined (__CRC16BTX_H) */
/** End of CRC16BTX.H */