/* * Include Files * */ #if defined(MATLAB_MEX_FILE) #include "tmwtypes.h" #include "simstruc_types.h" #else #define SIMPLIFIED_RTWTYPES_COMPATIBILITY #include "rtwtypes.h" #undef SIMPLIFIED_RTWTYPES_COMPATIBILITY #endif /* %%%-SFUNWIZ_wrapper_includes_Changes_BEGIN --- EDIT HERE TO _END */ #include #include #include /* %%%-SFUNWIZ_wrapper_includes_Changes_END --- EDIT HERE TO _BEGIN */ #define u_1_width 1 #define y_width 1 /* * Create external references here. * */ /* %%%-SFUNWIZ_wrapper_externs_Changes_BEGIN --- EDIT HERE TO _END */ /* extern double func(double a); */ uint32_t CRC32Value(int i) { int j; uint32_t u1CRC; u1CRC=i; for(j=8 ;j>0 ;j-- ) { if(u1CRC& 1) u1CRC =(u1CRC >> 1)^0xEDB88320L; else u1CRC >>= 1; } return u1CRC; } uint32_t CalculateBlockCRC32(uint32_t u1Count,uint8_t *ucBuffer) { uint32_t u1Temp1; uint32_t u1Temp2; uint32_t u1CRC=0; while(u1Count-- != 0) { u1Temp1 = u1CRC>>8 &0x00FFFFFFL; u1Temp2 = CRC32Value(((int)u1CRC ^ *ucBuffer++) & 0xff); u1CRC=u1Temp1 ^ u1Temp2; } return u1CRC; } /* %%%-SFUNWIZ_wrapper_externs_Changes_END --- EDIT HERE TO _BEGIN */ /* * Output function * */ void get_snc_crc32_Outputs_wrapper(const uint8_T *ucBuffer, const uint32_T *u1Count, uint32_T *u1CRC, const int_T u_width) { /* %%%-SFUNWIZ_wrapper_Outputs_Changes_BEGIN --- EDIT HERE TO _END */ /* This sample sets the output equal to the input y0[0] = u0[0]; For complex signals use: y0[0].re = u0[0].re; y0[0].im = u0[0].im; y1[0].re = u1[0].re; y1[0].im = u1[0].im; */ u1CRC[0] = CalculateBlockCRC32(u1Count[0], ucBuffer); /* %%%-SFUNWIZ_wrapper_Outputs_Changes_END --- EDIT HERE TO _BEGIN */ }