It seems to me that there are a lot of people around who are looking for a highly robust GPS driver. I need a new GPS driver for my RWAR project, so, hey, why not start one right now!
First off, to create the Google code page, I need a name for it. What do you guys want?
When i get my FEZ tomorrow, i’ll be happy to help out with UBlox (UBX), MediaTek (MTK), and SIRF III gps units. I haven’t used the UBX protocol yet but i need to use it for my high altitude balloons as it’s one of the only readily available gps units that operate at that altitude.
Perhaps we could have an interface/factory with ‘driver’ classes for each GPS that implement the interface.
Off the top of my head something like:
Methods:
Ctor(baud, port)
Ctor()
Connect(baud rate, port)
Connect() - properties set by constructor or
Disconnect()
Dispose() - IDisposable
ChangeBaudRate(new baud)
ChangeUpdateRate(hz)
Config Properties:
Port
Baud
GPS Properties:
Altitude
Course (heading)
SpeedKmH
SpeedKts
Lat
Long
SatellitesUsed
Satellites array[]
HDOP
VDOP
PDOP
FixStatus enum:[Invalid, Valid, Standard, Differential, Estimated, 2D, 3D]
Time
DiffAge
DiffStation
Do we want RMS value and Standard deviation of lat/long/alt (error in meters)?
And also, why not use codeplex? It’s designed for microsoft .net development, has built in wiki for each project, source control, ability to use TFS or SVN in VS.Net and lots more features. I’ve never been overly impressed by google code…
Actually I was just thinking about it and This won’t just be 1 driver for GPS. I predict that it will eventually contain hundreds of drivers for different devices.
New name proposal: “Freaking Easy Device Driver Kit .NET”
I disagree. We should have 1 library project for each driver, and an Install project that the end user can use to get the compiled drivers. Then they only include the drivers that they need into the project; because remember there is only so much Flash Ram in the USBzi. Just like GHI’s drivers.