python-bchlib icon indicating copy to clipboard operation
python-bchlib copied to clipboard

Getting maximum data length

Open spequer opened this issue 2 years ago • 0 comments

I'm using following code to get maximum possible data length with bch setting:

  • bch.c
        /* sanity check: make sure data length can be handled */
        if (8*len > (bch->n-bch->ecc_bits)) {
                printf("Error: Invalid length: %d %d (%d)\n", len, (bch->n-bch->ecc_bits) / 8, bch->n-bch->ecc_bits);
                return -EINVAL;
        }

Using following code to extract the result:

    data = bytearray(data[:1000])
    ic(len(data), bch.ecc_bytes , bch.ecc_bits, bch.m, bch.n, bch.t )
    ecc = bch.encode(data)

The value 919 (polynominal 8219, bits 64) is not shown in read-only settings: ic| len(data): 1000 bch.ecc_bytes: 104 bch.ecc_bits: 832 bch.m: 13 bch.n: 8191 bch.t: 64 ic| len(data): 1000, len(ecc): 104 Error: Invalid length: 1000 919 (7359)

It seems it is the value (8191-832) / 8 = 919..

spequer avatar Mar 31 '23 00:03 spequer