• The doc say id << 24, but when its goes through the different msg types it always puts class followed by id together in every table. Its a bit confusing and easy to read the check sum as class << 24 when in fact its msg_id << 24.

    It looks to me like the initial part of the chksum calc is done as:

    sum = (msg_id << 24) + (msg_class << 16) ++ (len_byte1 << 8) + (len_byte0)
    

    which matches the doc:

    //The calculation of the check value can follow the following algorithm:
    ckSum = (id << 24) + (class << 16) + len;
    for (i = 0; i <(len / 4); i++)
    {
        ckSum = ckSum + payload [i];
    }
    

    In this instance msg_id is 0x01, msg_class is 0x0B
    The length is 0x0038 or 0x38 = 56 decimal bytes which is the size of the payload buffer.
    As per screenshot below - the msg class and msg id are shown in that order in every part of the doc

  • My doc v3.6 on pg 27 says:

    ckSum = (class << 24) + (id << 16) + len;
    for (i = 0; i <(len / 4); i++)
    {
    ckSum = ckSum + payload [i];
    }
    

    But the same doc v4.2 from the site says

    ckSum = (id << 24) + (class << 16) + len;
    

    confusing!

About

Avatar for Mark_M @Mark_M started