Kippschalter als Code eingabe/ ryhtmus schloss

das ergibt sich indirekt: wenn nach Ablauf der Zeit+Toleranzzeit das vorgegebene Bitpattern nicht gegeben ist - tritt der Timeout ein und somit startet die codeFSM wieder von vorne.

start
correct 1. bitmap
codestate:1
Hint: press now next sequence
time expired

P.S.: das struct hilft eigentlich nur das bitmap und die Zeit zusammenzuhalten.
Im sequence[0].input steht also 0b001 und
im sequence[0].interval die 2000ms.

Ähnlich wie bei einem 2 dimensionalen Array, nur dass das Struct verschiedene Datentypen vereinen kann und vor allem leichter lesbar ist. Bei einem Mehrdimensionalen Array ist man sonst bald bei einem sequenceArr[0][1]= 42 - und zwei Monate später weis man ohne nachzusehen nicht mehr was im Feld 2 / Index 1 steht ... war das nun die input Bitmap oder der Interval. Daher Strukturen verwenden.