This code was developed by Ken Webster for his Time Source Monitoring Test System
14-bit core PIC source:
PC Windows NT or 95 or 98 source to talk to PIC:
Uses CRC and checksum and packet serial number to detect corrupt or missing packets. Chop out code that supports channels if you only need one device connected (this app is for connecting multiple devices via a multiplexer). If need help feel free to email me at ken@webster.org
; Apply W to command-interpreter receive checksums update_crx_checksums xor rCmdxs, W ;update plain checksum xor rCmdcl, W ;update cyclic checksum add rCmdch, W clrb C rr rCmdch snb rCmdcl.0 setb rCmdch.7 rr rCmdcl mov W, #$31 add rCmdcl, W snb C inc rCmdch mov W, #$03 add rCmdch, W void Checksum::Add(unsigned char c){ plain_checksum ^= c; cyclic_checksum ^= c; cyclic_checksum += (unsigned short)c << 8; bool carry = (cyclic_checksum & 1) ? true : false; cyclic_checksum >>= 1; cyclic_checksum |= carry ? 0x8000 : 0; cyclic_checksum += 817;}