Community GPS driver

Hmm, well, Gus makes a good point. Why not use Code Share?

Gus, will Code Share have any rev control system built in?

if a driver is complex to the point that it needs tight source control than you will need to use something like codeplex but we have file control like wiki but not like SVN.

Remember in the meeting how we said Chris can upload a file but the community can revise the driver with the approval of the project owner or the community voting. So in a way, we do have source control.

In short, if your driver is about 200 lines of code the code share is much better than codeplex but if your driver is multiple files or has thousands of lines of code then codeshare is not the right place

If we’re going to support UBX/MTK/SIRF/Others (like garmin and other handheld units) then i’d say we want to go codeplex because while the driver will be freakin’ easy to use - it could get freakin’ complex on the code side.

Alright, CodePlex it is. I guess I’ll make an account.

@ Gus: I didn’t make it in time for the meeting. I think I was busy filling my head with aircraft fuel fumes in Oshkosh, WS. at the time ::slight_smile:

Done. http://fezgps.codeplex.com/

Please add me: Issus

Under people -> Manage team, you can add people to the project team.

Done.

What license is this going to be developed under? CC?

I do agree with kurtnelle that there probably will be more than one community driver developed over time. I don’t think he is talking about multiple GPS drivers, but drivers for other devices.

Then, wouldn’t it be better to have an URL like [url]http://fez.codeplex.com/[/url] instead of locking it to a specific device like [url]http://fezgps.codeplex.com/[/url] ?

Another thing is how visible this collection of drivers will be for the community and the rest of the TinyCLR users. As this thread will soon disappear.

@ Chris: Can you add me as well? username: GeirAndersen
And @ Chris: Could you please start marking your URL’s as Hyperlink so we can follow the links whiteout copy/paste. :wink:

Geir, he’ll need your codeplex username.

As the GPS will be a relatively large project i think it’s OK being in it’s codeplex project. We can always make more codeplex projects that are specific to other tasks.

Done.

@ Gier,

The FEZ name only stands for “freakin easy”. It doesn’t signify the FEZ brand.

Hello Chris,

Could you add me also? My username on codeplex is: kurtnelle

Done.

Sweet,

Well then I guess I’ll get the ball rolling with a stub and a test harnes. What I’m checking in will just be “hollow” code.

Have at it, Kurt!

Ok, I’ve added a stub for the project. Hopefully tommorow I will begining implementing the basic functionaity with the event handler

I just checked in a huge refactor, sorry Kurt :wink:

There were a few typos in names, so i fixed them. I changed all the protected set’s to private sets… because protected wont stop anyone from setting them :wink:

I added an IGpsDevice interface that can be used when creating a GPS device. This will allow both NMEA and binary protocols to be used and just switch in/out gps units. I added properties for every field that is available from the NMEA spec.

Because various messages, like update rate, what messages to send and such differ from proprietary protocol to protocol NemaGps is now an abstract class. I added SirfStarIII, uBloxNmea (since UBX also have a binary protocol) and MediaTek classes that inherit from NemaGps.

I added properties for various speeds, depending on the GPS unit, they will return in different formats so i thought it would make it easy for users of the class if we just add the math for various types into the getter.

Also, can we please follow microsoft’s recommended best practices for naming? ie: fields with lowcase first letter, no underscore, same with variables in method scope. Properties are capital first letter. There should be no underscores in variable/method names (unless it’s an event callback).

Yes, MS’s best coding practices should be used. I will be going into the code every once-in-a-while on “clean-up” missions.

Haha, i’m a total standards nazi at work so don’t worry - i’ll do my fair share of re-factoring too.

Currently working on GPS basics for the NMEA class (which i’ve had to rename from nema ;P) then i’ll add more MTK functionality (sentence selection, speed change, etc)

Tools like ReSharper may help in this case. Though it doesn’t work with the Express editions of VS :frowning: