When I was in my fourth year of college, I was recruited into a team project on building a rover for the Intelligent Ground Vehicle Competition (IGVC).  My responsibility was supplying the drivers for the Navicom SF 3050 GPS device.  Since the drivers were only built for Windows, I had to develop a kernel driver for Linux.

The driver is derived from a template from one of Greg Kroah-Hartman’s kernel examples.  The only differences are the changed driver name and additional code to handle the two interfaces.  I also added a user level library for getting certain attributes from the GPS.

Programming Languages

The kernel driver is written in C.  Please note that C at the kernel level is very different than at the user level.

The user library is written in C++.

Links

The respoitory can be found on my github page.