Skip to content

PRO TIP Block youtube.com at the DNS level — Pi-hole, NextDNS or your hosts file — but allow youtube-nocookie.com and i.ytimg.com. These tutorials keep playing; the rabbit hole does not.

Learning without distractions

#37 State Machines Part-3: Input-Driven State Machines

20.8K views on YouTube

This lesson continues on the subject of STATE MACHINES, whereas today’s subject is “input-driven state machines”. This type of software state machine is the closest to its hardware precursors.

The lesson starts with an introduction to Mealy and Moore circuits and how they can be described by truth tables and state diagrams.

Later the lesson introduces input-driven state machines in software and shows several examples and terminology. You will learn about the inputs driving the state machines, the execution environment of such state machines, and the main problems.

The project for this lesson is based on an input-driven Blinky state machine used briefly in lesson 21. You will see examples of problems with unreliable polling of the inputs. You will also see how adding more and more buffering of inputs gradually leads to event-driven state machines.

——-
Resources:

Companion web page for this video course:
https://www.state-machine.com/quickstart

GitHub repository for projects for this video course:
https://github.com/QuantumLeaps/modern-embedded-programming-course
Transcript of this lesson:
https://www.state-machine.com/course/lesson37.txt

Video credits:
————–
The video fragment about computer games comes from:
https://youtu.be/MQEnrwAswr8

The video fragment about robotics comes from:

Music credits:
————–
The background music comes from:
https://www.bensound.com/royalty-free-music/track/straight