GeoFramework Controls

Mar 25, 2010 at 7:38 PM

Hi All

I am using a GPS device in which I read from a windows service and parse the data out into a socket from which client apps will deserialize the gps objects for their repsective gps data.  I know some of GeoFramework Controls but from what I have seen these controls follow a deliberate process as to how the controls get their data, only direct GPS connection.  What I am hoping to find out is the ability to use the Controls such as the Compass, Satellite Viewer and Signal, Speedometer, and Altimeter using these deserialized objects.  Any reply would be greatly appreciated....

Thanks in advance

Mar 25, 2010 at 10:32 PM

All of the GeoFramework controls (compass, satellite viewer, etc.) require a NmeaInterpreter, which is where they get their GPS data.  The NmeaInterpreter, in turn, uses a Device object to actually read the raw data from the GPS device.  The Device class is a base class, and you can inherit from that class to add support for any type of device you want -- including your custom socket.  There are already a few different classes in GPS.Net that inherit from Device, such as BluetoothDevice, SerialDevice, and VirtualDevice, so you can refer to any of those classes as an example of how to write your own Device class.

Mar 26, 2010 at 2:46 PM

I appreciate the input and essentially all i am wanting to do is deserialize a NMEA object and plug that data into geoframework controls.  I have a windows service which is reading the serialport and parses the NMEA sentences and then serializes those sentences based upon the type of sentence.  This allows multi-clients on the local desktop to access gps data.  So I do not really need to create a device per say but rather how do I plug in parsed data that is deserialized into Geoframwork controls such as satelliteviewer and compass?  I am not even sure if it is even feasible to pursue at this point with respect to geoframework controls.

Mar 29, 2010 at 12:51 PM

Ah, I see what you're trying to do now, and you're right that creating a derived Device class probably isn't the right thing to do in your case.  The NmeaInterpreter class exposes a bunch of events (some static, some instance), and the GeoFramework controls all use these events to get their data.  So, it sounds like you might be able to accomplish what you want by inheriting from the NmeaInterpreter class and raising its events based on your custom NMEA data.  As long as the GeoFramework controls are using your custom class as their NmeaInterpreter, I think it would work.

Mar 30, 2010 at 2:16 PM

Hey Thanks again for the input...I am currently gaining some insight into the GeoFramework controls and one thing I am coming across is the fluctuation on the speedometer and compass when stationary.  I know there are some precision issues when dealing with NMEA sentences but in using 2.0 is there anyway to mitigate those fluctations?  Will 3.0 solve any of this?  Again, I do appreciate the input...

Mar 31, 2010 at 1:18 PM

As far as I know, there's no difference between 2.0 and 3.0 as far as GPS precision is concerned.  However, I believe there may be a way for you to mitigate the fluctuations by changing the precision that GPS.Net uses.  Search through the code for "DilutionOfPrecision", and you'll find that there is logic in there for controlling the precision sensitivity.  I'm not very familiar with this part of the code though, so I can't give you much helpful guidance as to how to use it.