ECE497 SPI Project
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!
00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this. Score: 10/100
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 product that use SPI, one being an SPI radio interface and the other being a SPI LED strand.
So far there exists documentation for the 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.
The kernel driver for SPI is installed in the latest version of the beagle bone.
We have integrated some code to work with a SPI radio device. The code is located at github.
To get started hook up pins 30 and 11 to SPI Master and SPI clock.
Then echo 0 into both: /sys/kernel/debug/omap_mux/spi1_d1 /sys/kernel/debug/omap_mux/spi1_sclk
to select the pin mux for SPI.
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.
We want to develop a driver that will interface with SPI and potentially create a sysfs userspace utility for the LED strip.
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.