Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from enum import Enum
- class State(Enum):
- A = 0
- B = 1
- C = 2
- D = 3
- E = 4
- F = 5
- G = 6
- class StateMachine:
- state = State.A
- def start(self):
- return self.update({
- State.A: [State.B, 0],
- State.C: [State.D, 4],
- State.D: [State.B, 6],
- })
- def loop(self):
- return self.update({
- State.A: [State.F, 1],
- State.G: [State.B, 9],
- })
- def fetch(self):
- return self.update({
- State.B: [State.C, 3],
- State.D: [State.E, 5],
- State.E: [State.F, 7],
- State.F: [State.G, 8],
- State.A: [State.G, 2],
- })
- def update(self, transitions):
- self.state, signal = transitions[self.state]
- return signal
- def main():
- return StateMachine()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement