Difference between revisions of "ECE497 SPI Project"

From eLinux.org
Jump to: navigation, search
(Installation Instructions)
(Executive Summary)
Line 24: Line 24:
 
== Executive Summary ==
 
== Executive Summary ==
  
For this project we want to further improve documentation available for SPI with the Beagle Bone. In the process of our information gathering we will connect two different products that use SPI, one being an SPI radio interface and the other being a SPI LED strand.
+
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 [http://adafruit.com/products/306 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.
 
 
So far there exists documentation for the [http://elinux.org/BeagleBoard/SPI BeagleBoard/SPI]. There also exists other documentation regarding the SPI specifications.
 
 
 
The documentation is lacking for the current Beagle Bone platform interfacing with SPI. Additionally there exists virtually no documentation for using a Beagle device with the LPD8806 LED controller.
 
 
 
In conclusion this project should help the Beagle community in general with information sharing and usable research.
 
  
 
== Installation Instructions ==
 
== Installation Instructions ==

Revision as of 02:07, 14 November 2012

Team members: Sean Richardson, Greg Larmore

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.

Bone P9 pinout.jpg

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.