public static CRC check(BitSet msg){
  CRC crc=CRC.UNKNOWN;
  int calculated=1;
  if (msg.cardinality() % 2 == 0) {
    for (int i=msg.nextSetBit(0); i >= 0 && i < 48; i=msg.nextSetBit(i + 1)) {
      calculated^=sCHECKSUMS[i];
    }
    if (calculated == getChecksum(msg)) {
      crc=CRC.PASSED;
    }
 else {
      crc=CRC.FAILED_CRC;
    }
  }
 else {
    crc=CRC.FAILED_PARITY;
  }
  return crc;
}

public static CRC check ( BitSet msg ) { CRC crc = CRC . UNKNOWN ; int calculated = 1 ; if ( msg . cardinality ( ) % 2 == 0 ) { for ( int i = msg . nextSetBit ( 0 ) ; i >= 0 && i < 48 ; i = msg . nextSetBit ( i + 1 ) ) { calculated ^= sCHECKSUMS [ i ] ; } if ( calculated == getChecksum ( msg ) ) { crc = CRC . PASSED ; } else { crc = CRC . FAILED_CRC ; } } else { crc = CRC . FAILED_PARITY ; } return crc ; }
determines if message bits 0 - 47 pass the fleetsync crc checksum contained in bits 48 - 63 , using a lookup table of crc checksum values derived from the crc - 15 value , and verifies the message has even parity
