49 mSequenceCompleted =
false;
51 mState = state::locked;
52 mSequencePosition = 0;
58 mState = state::locked;
59 mSequencePosition = 0;
65 mState = state::locked;
66 mSequencePosition = 0;
72 if (mPrevSequence == 0) {
73 mState = state::locked;
74 mSequencePosition = 0;
83 mSequencePosition == 0 ||
84 mSequencePosition == 1 ||
85 mSequencePosition == 2) {
87 mState = state::error;
92 if (mSequencePosition == 3) {
93 if (seq != mTransition0) {
94 mState = state::error;
100 mSequencePosition == 4 ||
101 mSequencePosition == 5 ||
102 mSequencePosition == 6) {
104 mState = state::error;
109 if (mSequencePosition == 7) {
110 if (seq != mTransition1) {
111 mState = state::error;
114 mSequenceCompleted =
true;
118 mState = state::error;
121 mSequencePosition %= 8;
122 mPrevSequence = seq & 0xF;