Community GPS driver

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?

How about “NMEA for Micro Framework”

Btw I found a site about configuring the SiRF Star III Module : [url]http://www.deanandara.com/Argonaut/Sensors/Gps/ConfiguringSirfStarIII.html[/url]

He also points out the command set PDF here : [url]http://www.deanandara.com/Argonaut/Sensors/Gps/ConfiguringSirfStarIII.html[/url]

As we can see: We’re not alone!

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)?

Satellite Class
SatelliteID
Elevation
Azimuth
CNO

Can you guys think of a simple name? I need it to set up our Google Code page.

netmfgps

  • fezgps
  • freakineasygps

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…

We can use whatever project hosting you guys can agree on.

So far, I like netmfgps and fezgps. Anything cutsy?

Codeplex allows ‘complex’ names… like “Community GPS Library for FEZ” :slight_smile:

Check this out:

[url]http://www.tinyclr.com/forum/8/699/[/url]

@ Foekie, yeah, my idea was to take from the existing classes and then extend and test the crap out of them.

I like your idea. I am waiting for a real solid driver too. I am willing to test and help. Please let me know if you would like to kick off. :slight_smile:

Yeah, I’ll probably sit down and do it pretty soon, but others are welcome. At htis point we are working on setting up our project hosting.

Great, you have my email address. Let me know when you are going to start. ;D

As soon as people vote on code hosting and a name :wink:

I vote Codeplex btw.

Perhaps a generic descriptive name will do. Just “Fez.GPS”

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”

Tada :slight_smile:

We should never end up with a situation where there are many, many drivers. There should be one universal driver, or an interface.

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.

GPS’ are pretty standard. We don’t need to support every little, nitty gritty feature, just all of the standard ones.

This is why code share is coming…with rules and standards, we all can create drivers that will benefit us and benefit everyone in the FEZ community