CRC calculation inside C-Box
Posted: Fri Jun 16, 2023 11:57 am
Hello Matrix Team,
question ist it possible to use the follwing C-code inside FC in a C-Box
/*
Enter C code below this comment
*/
/* 8-bit CRC polynomial X^8 + X^2 + X + 1 */.
#define FCV_POLY 0x07
unsigned char update_crc (unsigned char FCV_CRC, unsigned char FCV_CRC_SEED)
{
unsigned char FCV_CRC_U;
unsigned char FCV_I;
FCV_CRC_U = FCV_CRC;
FCV_CRC_U ^= FCV_CRC_SEED;
for (FCV_I=0; FCV_I<8; FCV_I++)
{
FCV_CRC_U = ( FCV_CRC_U & 0x80 ) ? FCV_POLY ^ ( FCV_CRC_U << 1 ) : ( FCV_CRC_U << 1 );
}
return FCV_CRC_U;
}
unsigned char crc8 (unsigned char *FCV_CRC, unsigned char FCV_CRC_LENGTH)
{
unsigned char FCV_CRC_UP = 0;
unsigned char FCV_C;
for(FCV_C=0;FCV_C < FCV_CRC_LENGTH; FCV_C++) {
FCV_CRC_UP = update_crc (FCV_CRC[FCV_C], FCV_CRC_UP);
}
return FCV_CRC_UP;
}
Attached the FC file too.
THX in advance
Dirk
question ist it possible to use the follwing C-code inside FC in a C-Box
/*
Enter C code below this comment
*/
/* 8-bit CRC polynomial X^8 + X^2 + X + 1 */.
#define FCV_POLY 0x07
unsigned char update_crc (unsigned char FCV_CRC, unsigned char FCV_CRC_SEED)
{
unsigned char FCV_CRC_U;
unsigned char FCV_I;
FCV_CRC_U = FCV_CRC;
FCV_CRC_U ^= FCV_CRC_SEED;
for (FCV_I=0; FCV_I<8; FCV_I++)
{
FCV_CRC_U = ( FCV_CRC_U & 0x80 ) ? FCV_POLY ^ ( FCV_CRC_U << 1 ) : ( FCV_CRC_U << 1 );
}
return FCV_CRC_U;
}
unsigned char crc8 (unsigned char *FCV_CRC, unsigned char FCV_CRC_LENGTH)
{
unsigned char FCV_CRC_UP = 0;
unsigned char FCV_C;
for(FCV_C=0;FCV_C < FCV_CRC_LENGTH; FCV_C++) {
FCV_CRC_UP = update_crc (FCV_CRC[FCV_C], FCV_CRC_UP);
}
return FCV_CRC_UP;
}
Attached the FC file too.
THX in advance
Dirk