Post Reply 
Barcode generator
05-11-2024, 04:20 PM
Post: #10
RE: Barcode generator
Thank you Thomas for the clear explanation.

(05-06-2024 12:25 PM)ThomasF Wrote:  
(05-04-2024 07:06 PM)Benoit Maag Wrote:  Also, I am trying to understand the checksum algorithms but the HP documentation is not very clear - is there a simple explanation somewhere?


Hi,

The algorithm is fairly easy, for most bar codes the first byte is a 8-bit checksum of all bytes in the code:

Code:
    int chkSum = firstLine ? 0 : prevLineChecksum;
    for(int n=1; n<bLen; n++) // Loop over all bytes (except the first one)
        chkSum += barcode.bytes[n];
    while( chkSum & 0xFF00 ) // Check if any overflow
        chkSum = (chkSum&0xFF) + (chkSum>>8);
    barcode.bytes[0] = chkSum; // Save the checksum in the array
bLen is the length of the array holding the bytes, and barcode.bytes is the array.
barcode.bytes[0] will contain the calculated checksum.

For program bar codes (multiple lines), the checksum is initialized with zero (0) for the first line, and for all other lines the checksum is initialized to the checksum of the previous line (a running checksum).

The exception are paper keyboard bar codes.
- The one-byte bar codes which has no checksum, instead the second nibble is the same as the first but reversed (e.g. hex "DB" = binary "1101 1011").
- And two bytes codes, where the checksum is only 4 bits (nibble[0]) and is the 4-bit checksum of the other three nibbles.

Hope that clear up any confusion ... Wink

Cheers,
Thomas
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Barcode generator - Benoit Maag - 05-04-2024, 07:06 PM
RE: Barcode generator - Didier Lachieze - 05-04-2024, 10:48 PM
RE: Barcode generator - Pierre - 05-05-2024, 06:53 AM
RE: Barcode generator - aurelio - 05-09-2024, 02:04 PM
RE: Barcode generator - Pierre - 05-09-2024, 10:07 PM
RE: Barcode generator - Mike - 08-21-2024, 09:17 AM
RE: Barcode generator - Pierre - 08-21-2024, 10:17 AM
RE: Barcode generator - Pierre - 08-21-2024, 12:34 PM
RE: Barcode generator - Mike - 08-22-2024, 02:22 AM
RE: Barcode generator - Mike - 08-22-2024, 02:45 AM
RE: Barcode generator - Pierre - 08-22-2024, 06:49 AM
RE: Barcode generator - Benoit Maag - 05-05-2024, 02:32 PM
RE: Barcode generator - ThomasF - 05-06-2024, 12:25 PM
RE: Barcode generator - Benoit Maag - 05-11-2024, 04:19 PM
RE: Barcode generator - Benoit Maag - 05-11-2024 04:20 PM
RE: Barcode generator - Benoit Maag - 05-11-2024, 04:13 PM
RE: Barcode generator - Massimo Gnerucci - 05-11-2024, 05:42 PM
RE: Barcode generator - Pierre - 05-11-2024, 11:05 PM
RE: Barcode generator - Pierre - 08-22-2024, 09:49 AM
RE: Barcode generator - Mike - 08-22-2024, 07:44 PM



User(s) browsing this thread: 8 Guest(s)