ECE497 SPI Project
Team members: Sean Richardson, Greg Larmore
Contents
Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!
05 Executive Summary (Good start) 02 Installation Instructions 00 User Instructions (Missing) 00 Highlights (Missing) 00 Theory of Operation (Missing) 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this. Score: 07/100
Executive Summary
For this project we wanted to further improve documentation available for sysfs kernel drivers with the Beagle Bone. To do this we have interfaced an LED light strand by Adafruit with a sysfs kernel driver utilizing SPI. In doing so we have created an easy to use interface to the light strand while also maximizing data throughput.
Installation Instructions
The kernel driver for SPI is installed in the A6A version of the beagle bone.
We have integrated some code to work with a SPI radio device (What radio device?). The code is located at github.
To get started hook up pins 30 (D12) and 31 (A13) to SPI Data (sometimes referred to as Master) and SPI clock.
Then echo 0 into both:
beagle$ echo 0 > /sys/kernel/debug/omap_mux/spi0_d1 beagle$ echo 0 > /sys/kernel/debug/omap_mux/spi0_sclk
to select the pin mux for SPI.
Work Breakdown
So far we have done research on how Linux interfaces with SPI and we have integrated the SPI interface with current code that we have for an SPI radio. We also have explored methods of interfacing the SPI LED strip with a user to create a pleasant experience, such as creating a website to change the colors, or adding a possible twitter reader that would change the lights based on tweets.
Future Work
We want to develop a driver that will interface with SPI and potentially create a sysfs userspace utility for the LED strip.
Conclusions
The SPI interface is not well developed in Linux and can use some work progressing it. We have taken on the task of getting these two devices to work in an easier manner.