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 *************************/