
/*
**
** routine to calculate EEPROM check digit
**
*/

unsigned char check_calc(unsigned char *dat,unsigned char len)
{
    unsigned char chk;
    unsigned char bit;

    chk=0;
    while(len--)
    {
        chk^=*dat++;
        bit=(chk & 0x80 ? 2 : 1);
        chk<<=1;
        chk+=bit;
    }
    return(chk);
}
