09-27-2013 07:14 PM
crossrulz,
BINGO!! Problem solved!!! Thanks SO much for your help!!!
Kudos have been given!!!
DavidBoyd,
You are RIGHT!! It certainly didn't match ANYTHING standard that I could find.
I've attached another VI that shows both Hex Array and Sting input. This is what I will be using in my microprocessor communication.
Thanks for all the help. I'll mark this one as "Accept as Solution".
Paul.
09-27-2013 08:12 PM
@DavidBoyd wrote:
Chiming in late here, but I've been following this thread with some interest. I've coded a couple of different CRC implementations over the years in LabVIEW for different instruments, but none of my routines gave the results you quoted in your initial post. When I saw Crossrulz's snippet, I first identified it as nearly identical in form to one I'd done - including the same polynomial mask - but on closer inspection his snippet (relative to my closest version) is missing an XOR operation outright, and doing an extra shift.
I have done many different CRC implementations as well. And I said the same thing as you early on (not matching any of my standard CRC algorithms). Then for some reason I decided to look closer into the C code and found the little difference (missing an XOR). My spot for checking my CRCs is here:http://zorc.breitbandkatze.de/crc.html. But I'll have to keep yours in mind next time as another resource.
Paul, not to be selfish or anything, but you really should mark my post here (message 5 of this thread) as the solution since it was the first one to do it correctly.
09-27-2013 09:41 PM
crossrulz,
I am VERY sorry for that misstep on marking the solution. I assumed the button was for the entire thread and only realized that immediately after I clicked it. If there is a way to undo that, just let me know and I will be very happy to go back and give you credit!!
Paul.
09-27-2013 09:47 PM
Go to the options menu to the upper right of the message that you already marked, and unmark that message as the solution.
09-27-2013 09:53 PM
Ok. Thanks for your patience. I think I've got it now.
12-15-2013 01:12 AM
Hi,
Can this be implemented on series of boolean bits to detect the errors and to correct them?
12-15-2013 11:21 AM
You could convert Booleans to their equivalent numerical value and run them through the algorithms. You can than detect if there was an error. But there is no way to correct an error. It can only tell you that a boolean or a number changed. It has no way of telling which boolean bit or number is the incorrect one.
12-15-2013 11:31 AM
12-16-2013 06:19 AM
ysma wrote:
Can this be implemented on series of boolean bits to detect the errors and to correct them?
A CRC can only tell you if something was broken.
If you want a correction algorithm, you need to look into Hamming Code or Reed Solomon.
01-10-2014 08:22 PM
Hi,
I am using the CRC with a packetisation and segmentation system to a stream of Data, would you please tell me how to reuse the CRC code that you generated to check whether the Data is write or wrong?
Thank you