ECE434 Project - Arcade Stacker

From eLinux.org
Revision as of 18:00, 20 February 2023 by Rhit-mitterj (talk | contribs)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Luke Wendel and Josh Mitterling

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

Add Extras

09 Executive Summary
09 Packaging
09 Installation Instructions 
09 User Instructions
09 Highlights
09 Theory of Operation
09 Work Breakdown
09 Future Work/Conclusions
09 Hackster.io
09 Demo/Poster
00 Not Late

Score:  90/100

Executive Summary

  • insert picture here *

This project is a recreation of a common arcade game known as Stacker, in which rows of blocks bounce horizontally across the screen. The goal of the game is to stack the moving blocks row by row to the top of the screen, without dropping all of the blocks. We implemented the game using an LED matrix, a BeagleBone Black, and a pushbutton for user input.

What works:

What doesn’t work We could not successfully implement the game on a 64x32 LED matrix from Adafruit. We ran into many bugs and the matrix was not displaying what we expected after hours of debugging, so we opted to use a smaller matrix with an I2C bus.

Conclusion: TODO

Packaging

We do not have any packaging, as the beagle, pushbutton and LED matrix are the only components.

Installation Instructions TODO

Give step by step instructions on how to install your project.

[https://github.com/

  • Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for your code if using C.
  • Include any additional packages installed via apt. Include install.sh and setup.sh files.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

User Instructions TODO

Once everything is installed, how do you use the program? Consider making it autostart for full credit.

Highlights TODO

Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

The software initialization is responsible for connecting the peripheral display device. The operation can be represented as a state machine, where the push of a button changes the idle state to an action state. In the action state, the program will determine the blocks stacked, check the game winning condition, and check the game loss condition. This figure visually describes the game flow:

Program flowchart.PNG

Work Breakdown

List the major tasks in your project and who did what. Major tasks: Wiring up the 64x32 LED matrix, managing the IO and headers - Josh Developing the initial driver for the 64x32 LED matrix - Luke

Developing the Stacker game logic and program flow - Josh Implementing the logic and constructing a template file - Luke

We worked together, by pair programming, to debug the program and get the game to a playable state.

Work not done yet: Migrating the game to the 64x32 LED matrix to be playable.

Future Work

This project is a straightforward example of controlling user input devices to play fun games. More games = more fun, so having a way to select a variety of different games on an LED Matrix, ideally of a larger size and higher resolution, would be very cool.

Conclusions TODO

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.




thumb‎ Embedded Linux Class by Mark A. Yoder