# Column 1 is button signals (button 3, 2, 1) # Column 2 is expected action sequences from output (ok, back, add, sub) # All output pulses should be exactly 1 cycle long. 000 0000 # Press and release button 2 010 0000 000 1000 000 0000 # Press and release button 3 100 0000 000 0100 000 0000 # Press and release button 2 with shift # Shift stays down longer than button 2 001 0000 011 0000 001 0010 001 0000 000 0000 # Press and release button 3 with shift 001 0000 101 0000 001 0001 001 0000 000 0000 # From functional spec: "if state of shift (button 1) changes during # action sequence, the action sequence is aborted." 001 0000 011 0000 010 0000 000 0000 # From functional spec: "beginning of another action sequence while previous # has not finished will invalidate both sequences." 010 0000 110 0000 010 0000 000 0000 # Hold buttons after invalid sequence 010 0000 110 0000 010 0000 010 0000 010 0000 010 0000 010 0000 010 0000 000 0000 010 0000 000 1000 000 0000 000 0000