Private Sub CheckCS(RawData() As Byte, _
Offset As Long, _
DataLength As Long, _
ByVal LastArrayElement As Long) As Int
Dim Checksum As Long
Checksum = 0
Dim DataCounter As Long
If (Offset + DataLength - 2) < LastArrayElement Then
For DataCounter = 0 To DataLength - 2
Checksum = Checksum + RawData(Offset + DataCounter)
Checksum=Bit.And(Checksum,0xFF)
Next
If Checksum = RawData(Offset + DataLength - 1) Then
Return DataOk '0
Else
Return ChecksumError '1
End If
Else
Return InsufficientData '2
End If
End Function