Projects

Below are some project I have worked on in the past.  The full source code is available for all of them either via subversion repository on the project home page or as a download from this site.

C# Generic Trie

This is a Trie implementation in C#. It is fully generic: both the key, key token, and value types are type parameters.


project home page
source


Atmel AVR109 Compliant C#.NET bootloader class library and GUI

This is an (almost) complete implementation of the AVR109 bootloader specification on the PC side. It contains a class library to interface with the AVR microprocessor over serial port and a rudimentary but functional GUI. I will be improving this as time allows. So far I have tested this project with good results on the ATmega32 and ATmega168.

The bootloader c code for the micro processor is slightly modified from Atmel's original. It can be easily configured to support the following chips:
download here
project home page



Google Maps .Net user control

google map user control
I wrote this for displaying position data from GPS using Google Maps in a windows form.  It is based on Power Map. It is simple to add to a .NET project.
project home page

download here


.Net indicator class

This is a collection of customizable indicators for display on windows forms.  I wrote in C# during a final project at Camosun college.  It uses GDI to draw the controls on the form.

dot net indicator class
dot net indicator class grapher

NEW! Graphing user control added to .Net indicator class


Features:
I plan to continue work on this class as time allows.
project home page

download here



Relatively Simple CPU simulator and Assembler

This is based on John Carpinelli's 16 instruction specification from his text: "Computer Systems Organization and Architecture"  I co-wrote the simulator and wrote the assembler in C# for a school assignment.
project home page

Data Logger

This is a two part project that I worked on for school.  It consists of embedded C code for a PIC microcontroller that logs temperature, and a C# gui to download and graph the logged temperatures. The protocol for transferring the information was specified by the instructor.  The graphing part uses GDI to display the temperature traces.
source code





main