Debugging 2
Finding errors in tables.py
As my last devlog I identified that there is some errors in matrix and table files. I started looking through the table data and found some errors.
-
bs.append(mode, 4)— always writes a 4-bit mode indicator. But for Micro QR, mode indicators are 1–4 bits depending on the version, not always 4 bits -
The _data_placement_orderfunction skips col 6 (standard QR timing column). For Micro QR, col 0 is the timing column that should be skipped. But since col 0 and row 0 are already marked asreservedvia timing pattern placement, the if not reserved[row][c]check already handles it. Thecol == 6skip is only needed because in standard QR col 6 is a function column that isn’t individually reserved — but since we now properly reserve col 0 for Micro QR, it’s already handled. The issue is the function always skips col 6, which in Micro QR is a valid data column. - The Micro QR format info table has duplicate dict keys, so versions
M1-M3silently get clobbered by M4’s values.
I’m still going through the code to find the errors first, Then I’ll start to fix them one-by-one cause I’m tired of fixing one and get another 2 bugs out of nowhere.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.