From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, 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,729 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,724 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,720 Views)
Solution
Accepted by MrFuppes

Here's an implementation:

 

grafik.png

 

0 Kudos
Message 4 of 7
(1,640 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,637 Views)

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

0 Kudos
Message 6 of 7
(1,633 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
(574 Views)