diff options
| author | salmonik <salmonik@tuta.io> | 2026-08-03 02:23:35 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-08-03 02:23:35 +0200 |
| commit | 9fde94d068f87b34e0bc6bfa48388d89bb54f1e4 (patch) | |
| tree | a5a4ce95363e7a316a23371489f2b0b85c1a8735 /tools/qrcheck/Cargo.toml | |
| parent | v0.5.7: fix vt verify content check — expect BLANK (0x70020), not zero (diff) | |
| download | rs-dos-9fde94d068f87b34e0bc6bfa48388d89bb54f1e4.tar.gz rs-dos-9fde94d068f87b34e0bc6bfa48388d89bb54f1e4.zip | |
v0.5.8: heap-free QR encoder + crash-dump QR on framebuffer
Real hardware has no serial console, so a kernel crash only leaves a
frozen screen. Every dump_lines() report now also renders the crash
text as a scannable QR below the white-on-red band (photograph the
screen instead of relaying text).
- rsnix/src/qr.rs: from-scratch no_std/no_alloc byte-mode QR encoder
(EC-L, v1..v40, .bss statics only — safe on the fault path):
RS over GF(256), codeword interleave, zigzag placement, 8 masks with
N1-N4 penalty auto-selection, format/version info.
- gop.rs: dump_qr() joins dump lines into a static buffer, truncates
with '...' at the v40-L capacity, encodes, and renders centered
black-on-white with a 4-module quiet zone.
- tools/qrcheck: host harness (embedds qr.rs) + qrcheck.py cross-check
against segno's placement primitives. Verified bit-exact: 12
versions x 8 masks forced, plus auto-mask choice matches segno's
penalty evaluation. Caught 3 encoder bugs (multi-block interleave
offsets, transposed version info, mask eval ordering).
- QEMU e2e: page-fault dump screendump decodes via zbarimg, content
matches the serial log line-for-line.
- test-msg.sh and test-fault.sh both PASS; debug+release 0 warnings.
Diffstat (limited to 'tools/qrcheck/Cargo.toml')
| -rw-r--r-- | tools/qrcheck/Cargo.toml | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/qrcheck/Cargo.toml b/tools/qrcheck/Cargo.toml new file mode 100644 index 0000000..4d4487c --- /dev/null +++ b/tools/qrcheck/Cargo.toml | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | [package] | ||
| 2 | name = "qrcheck" | ||
| 3 | version = "0.1.0" | ||
| 4 | edition = "2024" | ||
| 5 | |||
| 6 | [[bin]] | ||
| 7 | name = "qrcheck" | ||
| 8 | path = "src/main.rs" | ||
| 9 | |||
| 10 | [profile.release] | ||
| 11 | panic = "abort" | ||
| 12 | |||
| 13 | [workspace] | ||
