Description
Description
The purpose of this assignment is to design, code, and test a C program that serves as a
high level state machine for a machine controller.
Requirements
The following are the requirements of the machine controller:
• The controller shall have 4 states, stopped, startup, running, coastdown
• The controller shall have one input, run, which determines the next state.
• In the stopped state a run of 1 shall move to startup state.
• In the startup state for more than 15 seconds a run of 1 shall move to running
state.
• In the running state a run of 0 shall move to the coastdown state.
• In the coastdown state for 30 seconds the controller shall move to the stopped
state.
• The controller shall have one output, speed_command, which determines the
speed of the machine.
• In the stopped state the speed_command shall be 0%.
• In the startup state the speed_command shall be 50%.
• In the running state the speed_command shall be 100%.
• In the coastdown state the speed_command shall be 25%.
• After the machine has started it must go through the coastdown state and stopped
state.
Assignment Submission Requirements
The following are the submission requirements for the assignment:
• The files will be submitted to Canvas
• The flowchart or pseudo code
• The C code with compile instructions in the banner
• The test code with compile instructions in the banner
• A screen shot of one test run of your code.