mirror of
https://github.com/MCKero6423/uv-k5-v3-emulator.git
synced 2026-10-06 21:17:22 +00:00
A probe at the guest's GPIO_IDR read, printing only when a row line is low (what read_rows() would return non-idle), rate-limited to one line per 200 reads and carrying its own running total, because round 98's cap hid a later phase behind an earlier one -- a mistake made again in this round's first version and corrected in the same round. Result: 97401 low-row reads, with column selections 0x70, 0x68 and 0x38 (port B pins 3, 4 and 6 pulled low one at a time, the four-column scan really running) and row patterns 0xe and 0x7. So the firmware drives columns, selects them one at a time, and reads a low row back; the count, about 1400 a second, agrees with round 101's scan-rate estimate. What it did not settle is which phase produced them, because of a sampling window: the four-second sampler ran from boot and its whole window fell before the first keypress, so it reported zero while the probe's final total was 97401 -- the same lesson this file already carries, made again in my own sampler rather than in the probe. Next: two runs, not one instrument -- one session that only launches the app (the resident loop polling) and one that gets the app running and then presses keys, comparing the probe's final totals.