tmk / tmk_keyboard

Keyboard firmwares for Atmel AVR and Cortex-M
3.98k stars 1.7k forks source link

IBMPC: Buffer Full #690

Closed tmk closed 10 months ago

tmk commented 3 years ago

Converter buffer is small(2) and can be fulled and overrun.

Buffering in conveter will be improved by making its buffer bigger. Also proper "inhibit" signal would be needed when the buffer is full.

When buffer in AT keyboard is full it sends 0x00 to indicate the error. Big buffer in converter will mitigate the error on keyboard, but may not have effective improvement in fact.

This is not problem so much for practical use in most cases.

https://geekhack.org/index.php?topic=103648.msg3055134#msg3055134

Rapidly pressing 16ish keys with fingers

r35 r2D r24 rF0 r42 rF0 r3B rF0 r33 r34 r2B r00
[OVR]
63680 ERR:40 ISR:4D50 r35 r00
[OVR] r00
[OVR] r43 r33 r42 r3B rF0 r1B r3C r35 rF0 r34 r00
[OVR] r1D rF0 r44 r23 r1B rF0 r3C rF0 r35 r2C r2D r24 rF0 r42 rF0 r3B r00
[OVR] r43 r44 r00
[OVR] r00
[OVR] r00
[OVR] rF0 r35 rF0 r3B r1B rF0 r3C r2C rF0 r4B rF0 r42 rF0 r33 r34 r2B r23 r00
[OVR] r43 r42 r3B r33 r44 r3C r35 rF0 r2B rF0 r23 rF0 r2C rF0 r2D rF0 r24 rF0 r34 rF0 r1B r1B r2C r34 r23 rF0 r44 rF0 r35 r2D r24 rF0 r42 rF0 r3B rF0 r33 r2B rF0 r43 rF0 r3C r43 r44 r4B r42 r3B r33 r3C r35 rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r2C rF0 r2D rF0 r24 rF0 r42 rF0 r35 rF0 r4B rF0 r3B rF0 r33 r23 rF0 r44 rF0 r43 rF0 r3C r2C r2D r24 r34 r2B r1B r1D rF0 r1D rF0 r2B rF0 r23 rF0 r1B rF0 r2C rF0 r2D rF0 r24 rF0 r34 r43 r3C r42 r3B r33 r34 r35 r2C r15 r23 r1C r2D r24 r1D r2B r1B rF0 r42 rF0 r3B rF0 r43 rF0 r3C rF0 r35 rF0 r2C rF0 r33 rF0 r34 rF0 r1C rF0 r2D rF0 r15 rF0 r2B rF0 r23 rF0 r1B rF0 r24 rF0 r1D r2B r23 r1C r43 r3C r35 r2C r2D r24 r1D r15 r42 r3B r33 r34 r1B rF0 r42 rF0 r43 rF0 r2D rF0 r15 rF0 r3B rF0 r33 rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C rF0 r3C rF0 r35 rF0 r2C rF0 r24 rF0 r1D r3C r42 r33 r43 r35 r2C r3B r34 r24 r23 r1D r15 rF0 r3B r2B r1B r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2C r2D rF0 r42 rF0 r33 rF0 r34 r3C r43 r42 r33 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r3B r24 r2B r23 r1B rF0 r43 r2D r00
[OVR]
7643 ERR:40 ISR:4AD0 r2B r23 r2D r24 r1D r15 rF0 r42 rF0 r3B r00
[OVR]
7751 ERR:40 ISR:10D0 r42 r33 r34 rF0 r23 r35 r2C rF0 r2D rF0 r24 rF0 r15 r3B rF0 r2B rF0 r1B r00
[OVR]
7872 ERR:40 ISR:08D0 r2D r1D r15 rF0 r42 rF0 r3B rF0 r33 r00
[OVR] b:3C33 r3C r33 rF0 r23 rF0 r1C r43 r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r42 r3B r00
[OVR] r24 r2B r23 r1B rF0 r43 rF0 r35 r00
[OVR] b:00F0 r00
[OVR] rF0 r1C r3C rF0 r15 rF0 r23 rF0 r1B r43 r35 rF0 r2D rF0 r24 rF0 r1D r00
[OVR] rF0 r2C rF0 r34 rF0 r35 r24 r15 rF0 r42 r00
[OVR] rF0 r1C rF0 r15 rF0 r2D rF0 r2B rF0 r23 rF0 r1B rF0 r24 rF0 r1D r23 r43 r3C r24 r15 r42 r3B r33 r34 r1B r1C r35 r2C r2D r1D r2B rF0 r2C rF0 r42 rF0 r3B rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2D rF0 r24 rF0 r1D rF0 r15 rF0 r33 r3C r43 r35 r2C r42 r3B r33 r34 rF0 r3B rF0 r42 rF0 r43 rF0 r2C rF0 r33 rF0 r34 r2B r23 r1B r1C rF0 r3C rF0 r35 r2D r24 r1D r15 r3C r43 r42 r33 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r3B rF0 r3B r24 r23 r2D r1D r15 rF0 r42 r2B r1B r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2C rF0 r33 rF0 r34 r3C r43 r42 r35 r2C r3B r33 r34 rF0 r23 rF0 r1B rF0 r1C rF0 r2D rF0 r24 rF0 r1D rF0 r15 rF0 r2B r24 rF0 r3B r23 r1B rF0 r43 rF0 r2C r2D r1D r15 rF0 r42 rF0 r33 rF0 r34 r2B r1C rF0 r3C rF0 r35 r3C r35 r33 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C r43 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r42 r3B rF0 r3B r1C r2D r24 r1D r15 rF0 r42 rF0 r33 rF0 r34 r2B r23 r1B rF0 r43 rF0 r3C rF0 r35 rF0 r2C rF0 r23 rF0 r2D rF0 r24 rF0 r1D rF0 r15 rF0 r2B rF0 r1B rF0 r1C r43 r3C r42 r33 r34 r35 r2C r3B rF0 r3B rF0 r42 rF0 r43 rF0 r2C rF0 r33 rF0 r34 r23 r1B r1C rF0 r3C rF0 r35 r2D r24 r1D r15 r2B r3C r33 r43 r35 r2C rF0 r2D rF0 r15 r42 r3B r34 rF0 r2B rF0 r23 rF0 r1B rF0 r1C rF0 r24 rF0 r1D r15 r1B r1C rF0 r2C r24 r1D rF0 r42 rF0 r3B rF0 r33 rF0 r34 r2B r23 rF0 r43 rF0 r35 r2D r42 r00
[OVR]
37603 ERR:40 ISR:4010 !FULL! rFF
[OVR] r00
[OVR] rF0 r3B rF0 r2C rF0 r33 rF0 r34 r00
[OVR] r00
[OVR] r42 r33 r43 r3C r35 r3B r34 rF0 r23 rF0 r1B rF0 r1C r2C rF0 r2D rF0 r24 r00
[OVR] r24 r2D r15 rF0 r3B r2B r23 r1B r1C rF0 r43 rF0 r3C rF0 r35 rF0 r2C r1D rF0 r42 rF0 r33 rF0 r34 rF0 r23 rF0 r2D rF0 r2B rF0 r1B rF0 r1C rF0 r24 rF0 r1D rF0 r15 r3C r3B r2C r33 r34 r43 r35 r42 rF0 r43 rF0 r42 rF0 r2C rF0 r3B rF0 r33 rF0 r34 r1B r1C rF0 r3C rF0 r35 r2D r24 r1D r15 r2B r23 r3C r3B r00
[OVR]
42290 ERR:40 ISR:7C10 !FULL! rFF
[OVR] r33 rF0 r34 rF0 r43 rF0 r3C rF0 r35 r24 rF0 r42 r2B r00
[OVR] r00
[OVR] r00
[OVR] r00
[OVR] r24 r2B r23 r1B rF0 r2C r2D r1D r15 rF0 r42 rF0 r3B r00
[OVR]
42604 ERR:40 ISR:0ED0 r3B r33 r34 r35 r2C r00
[OVR] r24 r2B r23 r2D r1D r00
[OVR]
42713 ERR:40 ISR:4F10 !FULL! rFF
[OVR] r43 r42 r33 r34 r35 r2C r3B rF0 r23 rF0 r1B rF0 r1C r00
[OVR] rF0 r2B r24 r2B rF0 r2C r2D r15 rF0 r42 rF0 r3B rF0 r33 r00
[OVR] r3C r42 r33 r34 r00
[OVR] r00
[OVR] r00
[OVR] r34 r33 rF0 r23 rF0 r1B r43 r3C r35 r2C rF0 r2D rF0 r24 rF0 r1D rF0 r15 r00
[OVR] r24 r2B r00
[OVR] r00
[OVR] r00
[OVR] r3C r33 r34 rF0 r23 rF0 r1B rF0 r1C r43 r35 r2C r00
[OVR]
43565 ERR:40 ISR:4010 !FULL! rFF
[OVR] r00
[OVR] r3C r43 r35 rF0 r15 r42 r3B r33 r34 rF0 r23 r00
[OVR]
43678 ERR:40 ISR:0ED0 r3B rF0 r2C rF0 r42 rF0 r33 r00
[OVR] rF0 r23 rF0 r2D rF0 r2B rF0 r1B rF0 r24 rF0 r1D rF0 r15 rF0 r1C
TMK:dda33032/LUFA

USB configured.

Keyboard start.
I243
406 PRT:11 ISR:6A90 rAA A407 wFF rFA rAA W646 R1147
ID:FFFD(AT_Z150) S1147 wED rFA w00 rFA L1152 r36 r3D r2E r45 r46 r3E r25 r26 r1E r49 r41 r3A r31 r32 r2A r21 r22 r1A r4B r00
[OVR] rF0 r4B rF0 r44 rF0 r43 rF0 r49 rF0 r41 rF0 r3A rF0 r32 rF0 r2A rF0 r21 rF0 r22 rF0 r1A rF0 r42 rF0 r3B rF0 r33 rF0 r34 rF0 r2B r00
[OVR] rF0 r31 r36 r2E r3D r25 r26 r41 r31 r32 r2A r21 r22 r1A r4B r42 r3B r33 r34 r2B r23 r00
[OVR] r00
[OVR] rF0 r4B rF0 r42 rF0 r1C rF0 r44 rF0 r43 rF0 r1D rF0 r49 rF0 r41 rF0 r3A rF0 r31 rF0 r32 rF0 r2A rF0 r21 rF0 r22 rF0 r1A rF0 r3B rF0 r33 r00
[OVR] r36 r3D r45 r46 r3E r2E r25 r26 r1E r49 r41 r3A r31 r32 r2A r21 r22 r1A r4B r00
[OVR] rF0 r1D rF0 r1C rF0 r24 rF0 r1B rF0 r44 rF0 r43 rF0 r2D rF0 r45 rF0 r46 rF0 r3E rF0 r3D rF0 r36 rF0 r2E rF0 r25 rF0 r26 rF0 r1E rF0 r49 rF0 r41 rF0 r3A r00
[OVR] r36 r3D r45 r46 r3E r2E r25 r26 r1E r49 r41 r3A r31 r32 r2A r21 r22 r1A r4B r00
[OVR]
13404 ERR:40 ISR:7C10 !FULL! rFF
[OVR] r1C rF0 r43 rF0 r44 rF0 r24 rF0 r26 rF0 r1E rF0 r4B rF0 r42 rF0 r3B rF0 r33 rF0 r34 rF0 r2B rF0 r23 rF0 r1B rF0 r3C rF0 r35 rF0 r2C r00
[OVR] r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29 r29 rF0 r29