From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Adler-32 Checksum

Solved!
Go to solution
0 Kudos
Message 1 of 7
(1,714 Views)

Hi MrFuppes,

 

have you tried to implement this yourself?

It seems pretty easy with just 2 shift registers in a loop…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 7
(1,709 Views)

Hi GerdW,

not yet, but will do so I guess if there are no "stock" .vi available...

0 Kudos
Message 3 of 7
(1,705 Views)
Solution
Accepted by topic author MrFuppes

Here's an implementation:

 

grafik.png

 

0 Kudos
Message 4 of 7
(1,625 Views)

Hi MrFuppes,

 

you see: really easy!

 

You can delete the ArraySize node, autoindexing at the loop tunnel is all you need…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 7
(1,622 Views)

sure, & thanks. still need to get used to programming in LV 😉

0 Kudos
Message 6 of 7
(1,618 Views)

The Adler-32 solution by MrFuppes is incorrect for large data sets.  The high (B, s2) and low (A, s1) should be converted to U32 prior to the add and modulus.

 

Adler-32.png

 

Example:

"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"

ADLER-32: 0x09832C7D

0 Kudos
Message 7 of 7
(559 Views)