Function CalcCRC(s() As Byte) As Byte checksum = 0 crcreg = 255 length = UBound(s) - LBound(s) For i = 1 To length bitpoint = 128 x = s(i) For k = 0 To 7 If bitpoint And x Then If crcreg And 128 Then poly = 1 Else poly = 28 End If crcreg = (((crcreg * 2) Or 1) Xor poly) And 255 Else If crcreg And 128 Then poly = 29 Else poly = 0 End If crcreg = ((crcreg * 2) Xor poly) And 255 End If bitpoint = bitpoint \ 2 Next k Next CalcCRC = (Not crcreg) And 255 End Function

VB6 function, (place it in a module) that will calculate the crc hex packet to use with the BR-3 OBDII unit.