Code Generator
In house tool used to specify software interfaces in XML for rapid generation of bug free, well commented, C++ classes.
- Designed and implemented Generator using Python and wxWindows.
- Created code templates for an inter-process
communication layer that automates nested
C++ object serialization, endinaness swapping, and pretty printing of structures.
- Created component that generates device drivers and
stubbed IOCTL handlers.
- Code generator has been used in production of two device drivers and ten
server/client applications, saving developers from writing and debugging thousands of lines of code.
R5000, T7000 Projects
In-dash computers for heavy truck and recreational vehicles. Systems feature CD and USB playback, an iPod interface, satellite radio, external camera display, GPS navigation, vehicle systems monitor, trip computer, and tire pressure monitors.
- Wrote a VNC client using C++ and the QNX Photon mircoGUI.
- Developed a device driver for a serial based
touch screen device.
- Created an intelligent high speed serial to TCP/IP bridge that
allowed us to interface our VNC client to a
3rd party system.
- Wrote utility to monitor memory usage and report low memory conditions.
P7000 Project
In-dash computers for public safety vehicles. Systems feature speech recognition, radio communications management, and police vehicle equipment control.
- Modifed QNX based firmware updater to work with Linux MTD flash interface.
- Ported existing sound framework to work with Linux sound architecture, ALSA.
- Wrote Linux ALSA SoC driver for custom i2s device.
- Created userspace/kernel interrupt bridge so Legacy userspace drivers work with Linux kernel.
- Ported existing I2C driver to work on Linux.
- Maintained firmware installer.
Mobile Media Dock Project
Portable music device docking station for vehicles, supporting iPod and flash media.
- Modified Greenhills Board Support Package for the Analog
Devices BlackFin 539 processor to run on Lectronix custom
hardware.
- Added USB Stack and USB media detection code.
- Developed a shared memory version of Lectronix's
abstract inter-process communication layer.
Navigation Server
Largest module for the 7000 Project. Application displays maps, calculates routes, provides audible directions, and allows searching of map data.
- Created proximity search component that used 3rd party geographic
data engine to find map features and points of interest
around a given location.
- Modified 3rd party Python map scripts to categorize
points of interest data.
- Implemented map marker component which allows arbitrary
icons to be shown and updated in map coordinates.
- Implemented Module for installing and managing user defined POI databases.
- Maintained proximity search and POI components.
Miscellaneous
- Wrote wxPython based log viewer for intelligent capture and filtering of serial and syslog data.
- Created wxPython based regular expression search for searching source trees.
- Implemented posix glob for Win32.
- Modified U-Boot universal boot loader
to initialize Coral-P video device and display splash screen.
- Updated Integrity IDE Driver to support
BlackFin I/O pipelining.
- Wrote a tool called Generic Tester that parsed Doxygen XML
output and created C++ unit tests based on developer's
Doxygen comments.
- Created generic server, client, driver, and application classes
to replace standard entry points which enabled components to share
common code and be controlled from a single point. Wrote python
scripts to migrate code base to new classes.
- Developed Python scripts to interact with SourceOffSite source
control server and automate code sharing and moving.