26 lines
924 B
C
26 lines
924 B
C
|
|
/*******************************************************************************
|
||
|
|
* Copyright © 2017 TRINAMIC Motion Control GmbH & Co. KG
|
||
|
|
* (now owned by Analog Devices Inc.),
|
||
|
|
*
|
||
|
|
* Copyright © 2023 Analog Devices Inc. All Rights Reserved. This software is
|
||
|
|
* proprietary & confidential to Analog Devices, Inc. and its licensors.
|
||
|
|
*******************************************************************************/
|
||
|
|
|
||
|
|
|
||
|
|
#ifndef TMC_HELPERS_CRC_H_
|
||
|
|
#define TMC_HELPERS_CRC_H_
|
||
|
|
|
||
|
|
#include "Types.h"
|
||
|
|
|
||
|
|
// Amount of CRC tables available
|
||
|
|
// Each table takes ~260 bytes (257 bytes, one bool and structure padding)
|
||
|
|
#define CRC_TABLE_COUNT 2
|
||
|
|
|
||
|
|
uint8_t tmc_fillCRC8Table(uint8_t polynomial, bool isReflected, uint8_t index);
|
||
|
|
uint8_t tmc_CRC8(uint8_t *data, uint32_t bytes, uint8_t index);
|
||
|
|
|
||
|
|
uint8_t tmc_tableGetPolynomial(uint8_t index);
|
||
|
|
bool tmc_tableIsReflected(uint8_t index);
|
||
|
|
|
||
|
|
#endif /* TMC_HELPERS_CRC_H_ */
|