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:
- ATmega8
- ATmega8515
- ATmega8535
- ATmega88
- ATmega16
- ATmega162
- ATmega163
- ATmega165
- ATmega168
- ATmega169
- ATmega32
- ATmega323
- ATmega329
- ATmega3290
- ATmega64
- ATmega649
- ATmega6490
- ATmega128
- ATmega128_1
download here
project
home page
Google Maps .Net 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.

|

NEW! Graphing user control added to .Net indicator class
|
Features:
- customizable: labels, colors, direction of
rotation, warning ranges,
- scalable: all controls can dynamically scale on form
change or other events
- 4 types of controls so far: dials, artificial
horizon, compass, indicator lights
- Easy to include into your own VB or C# .NET project
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