python-bchlib
python-bchlib copied to clipboard
Getting maximum data length
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..