I've been working to a make a computer client-application in order to communicate with a Phillips IntelliVue Patient Monitor device. The patient monitor device uses well established protocol called Data-Export-Protocol for the communication. I'm trying to implement the protocol over COM port and unlike UDP/TCP sockets COM port libraries do not have any well defined standards. For a long time, I was stuck on calculation of CRC checksum for transmissions of the data from and to a Philips Patient Monitor. It took quite bit of searching on Google to find the solution for it. Phillips Data Export Programming manual was not particularly useful as they did not have much information regarding the algorithm to calculate the CRC.
I'm posting a link for the C code that I'm using in my library to calculate the CRC checksum. So far, It works fine for me. For details about the algorithm, please refer to the article that I found over Dr. Dobb's journal (second link below) and also one paper written by Bob Felice (third link below).
- https://raw.github.com/shivamkalra/Libdep/master/src/crc.c
- http://www.drdobbs.com/embedded-systems/199904926
- http://www.engr.sjsu.edu/rmorelos/ee296f08/CRC-CCIRR_DDJ.pdf
If you are working on a similar project and it might be interesting to chat. I've setup the project on Github. Feel free to contribute if you have worked on it before or you are expert in this field. Leave your comments below.