bam_crc.c
/****************************************************************************/ /* MODULE: bam_crc.c */ /* FUNCTION: CRC check programming routines. */ /* PROCESSOR: 8xC196KC */ /* CONTAINS: */ /* HISTORY: 4-11-96 L.R. Erickson - Original */ /****************************************************************************/ #define SRC_BAM_CRC #include "jkc_defs.h" #include "jkc_sfrs.h" #include "jkc_extr.h" #include "jkc_func.h" #include "bam_loop.h" #include "bam_main.h" #include "bam_defs.h" #include "bam_ser.h" #include "bam_comm.h" #include "bam_eep.h" #include "bam_crc.h" /* File Global Vars */ unsigned char *crc_char_add ; unsigned int crc_chk_sum ; /* load the lookup table */ #include "crc_lut.c" // #include "crc_lut1.c" /********************************************************/ /* ROUTINE:chk_crc */ /* FUNCTION:Keep a running CRC check on the */ /* EEPROM. */ /********************************************************/ void chk_crc(void) { unsigned int lut_index ; lut_index = ((unsigned int) *crc_char_add) ^ (crc_chk_sum &0xff) ; crc_chk_sum = crc_chk_sum>>8 ; crc_chk_sum = crc_chk_sum ^ crc_lut[lut_index] ; if(crc_char_add == (unsigned char*) 0x9fff) if(crc_chk_sum != 0) crc_chk_err() ; else if(crc_char_add == (unsigned char*) 0xcfff) if(crc_chk_sum != 0) crc_chk_err() ; else if(crc_char_add == (unsigned char*) 0xffff) if(crc_chk_sum != 0) crc_chk_err() ; crc_char_add++ ; if(crc_char_add == (unsigned char*) 0) crc_char_add = (unsigned char *) 0x8000 ; } /********* end of chk_crc *****************************/ /********************************************************/ /* ROUTINE: init_crc */ /* FUNCTION:Initialize the CRC check variables. */ /* */ /********************************************************/ void init_crc(void) { crc_char_add = (unsigned char *) 0x8000 ; crc_chk_sum = 0 ; } /************** end of init_crc *************************/ /********************************************************/ /* ROUTINE: crc_chk_err */ /* FUNCTION:Handle any CRC errors */ /* */ /********************************************************/ void crc_chk_err(void) { return ; } /************** end of crc_chk_err *************************/