In general, a checksum is the summation of a number of bytes. And then of the final sum only the least significant byte is used. Any higher significant bytes are discarded. Sometime the final byte is bit-inverted or subtracted from a constant or XOR-ed with a constant before inserting it in the datastream.
In your example [0x01, 0x01] a checksum would be 0x02. For [0x00, 0x00] its 0x00. The example above calculates the checksum to be 0x3E for the sequence [0x3E, 0x00,0x00]. It implies the MessageID is supposed to be included for the checksum. The piece of text that you show does not explain the finer details of how the checksum is to be calculated. And I haven’t read it’s manual. So make sure to check.