EE 380Summer, 2010
System Software Projects
Title: Serial plot
Area: Systems Software
Prerequisites: EE 356
Set up a microcontroller to send digitized data from the A to D converter to a PC via a serial port. On the PC use C# to produce a plot of the data. Include scaling information on your plot. Demonstrate that you can send a sinusoid, a square wave, and a triangular wave to the PC for plotting.
Title: WPF Media Player
Area: Systems Software
Prerequisites: EE 354/356
Using C# WPF create a simple four button media player which will allow a user to play, stop, pause, or resume the playing of an MP3 file over the Windows Media Player.
Title: Plotter
Area: Systems software
Prerequisites: EE 356
Write a C# WPF application which will read a file of arbitrary length in the following format:
Title:My graph
xx1, y11, y21, … ,y101
xx2, y12, y22, … ,y102 //Comment
…
//Comment
xxN, y1N, y2N, … ,y10N
Your program should plot this data taking xx1 to xxN to be the horizontal axis with the y values being the data for up to 10 graphs on the same plot. The format of the data is such that there maybe from 1 to 10 y values per line. Scaling should be automatic and should be set on the horizontal axis between the minimum and maximum x. On the y axis should be scaled to display the minimum of any y and the maximum of any y. The program should ignore all comments while reading in the data. Comments will always begin with a double slash (either forward // or backward \\). The first line may be data or it may be the word Title followed by a colon. If the word Title followed by a colon is present your program should display the following text centered at the bottom of the graph as the title. All values of y should be plotted in different colors. The axis should be labeled and have tick marks appropriate to the data.
Title: Graphics
Area: Systems software
Prerequisites: EE 356
Write a digital/analog clock display in C# WPF. Your clock should capture the time and date from the system and display it in a small form. Also in the form, include an analog clock that has two hands which display the time. Optimize your clock update so that it does not require a lot of computer time to update the clock. (Update your clock each minute and erase and redraw the hands instead of redrawing the whole clock.) Add a background display.