Download the free trial version
Basic4android Video
Features
Tutorials and manuals
Showcase
Screenshots

Go Back   Android Development Forum - Basic4android > Basic4ppc (Windows Mobile) > Code Samples & Tips > Official Updates
Documentation Wiki Register Members List B4P Search Today's Posts Mark Forums Read

Official Updates Updates to official libraries could be found here.
This forum is only available to licensed users.

New GPSDriver library

Reply
 
LinkBack Thread Tools Display Modes
  #11 (permalink)  
Old 11-06-2008, 03:25 PM
derez's Avatar
Basic4ppc Expert
 
Join Date: May 2007
Posts: 918
Awards Showcase
Beta Tester Competition Winner 
Total Awards: 2
Default altitude

Agraham
I used this code to display both altitudes on the same form:

If gpsd.SeaLevelAltitude <> gpsd.InvalidData Then
t_alt = gpsd.SeaLevelAltitude
tb1.Text = t_alt
If gpsd.EllipsoidAltitude<> gpsd.InvalidData Then tb2.Text = gpsd.EllipsoidAltitude Else tb2.Text = "x"
End If

what I see is that while the sealevel Alt is changing , as a result of non-optimized satellites reception, the ellipsoid is static. It is not functioning correctly, at least in my device and program.
Can you please check or tell me what I'm doing wrong ?

thanks
Attached Images
File Type: jpg Screen01.jpg (49.5 KB, 32 views)
__________________
David Erez
Ramat Hasharon, Israel
Reply With Quote
  #12 (permalink)  
Old 11-06-2008, 04:34 PM
agraham's Avatar
Basic4ppc Expert
 
Join Date: Jul 2007
Location: Cheshire, UK
Posts: 5,953
Awards Showcase
Innovator medal Beta Tester Forum Contributer 
Total Awards: 3
Default

Your code looks OK. It looks like your device insn't returning a valid EllipsoidHeight. You didn't confirm that you are using version 1.01 of the library. On my device SealevelAltitude is always invalid.

I really can't help any more as the driver is returning whatever you are getting. However this archive includes my test program which has an extra library "GSPDriverNMEA.dll" that can retrieve the actual NMEA sentences from the Intermediate driver. Using this you can check at a lower level what the data actually is.

Run the app on your device (with all the libraries), select NMEA from the menu and then press Open. The textbox will fill with data. Clear will clear the textbox at any time and log will write the present textbox text to a file "NMEA.log" in the application directory. You could then check what the device is producing. The "usual" messages are documented in the NMEAsentences.txt file in the archive.
Attached Files
File Type: zip GPSDriverDemo.zip (68.2 KB, 40 views)
Reply With Quote
  #13 (permalink)  
Old 11-06-2008, 07:08 PM
derez's Avatar
Basic4ppc Expert
 
Join Date: May 2007
Posts: 918
Awards Showcase
Beta Tester Competition Winner 
Total Awards: 2
Default

Agraham
Before checking the program let me tell you what I saw on the way home from work.
I drove 40 Km north, and the Elipsoid altitude crept slowly from 16.6 to 17.1 while the real altitude travelled +- 50 meters. I thought that this may be showing that the parameter is a difference between the WGS84 and the sealevel altitude.
When I got home I saw your post and I find this inside:

$GPGGA,162651.6,5316.057660,N,00241.434673,W,1,03, 666.6,149.2,M,0,M,,*69
Global Positioning System Fix Data
eg3. $GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x ,M,x.x,M,x.x,xxxx*hh
1 = UTC of Position
2 = Latitude
3 = N or S
4 = Longitude
5 = E or W
6 = GPS quality indicator (0=invalid; 1=GPS fix; 2=Diff. GPS fix)
7 = Number of satellites in use [not those in view]
8 = Horizontal dilution of position
9 = Antenna altitude above/below mean sea level (geoid)
10 = Meters (Antenna height unit)
11 = Geoidal separation (Diff. between WGS-84 earth ellipsoid and
mean sea level. -=geoid is below WGS-84 ellipsoid)

12 = Meters (Units of geoidal separation)
13 = Age in seconds since last update from diff. reference station
14 = Diff. reference station ID#
15 = Checksum

I believe that there must be some mix of the use of this part in the stream.
Now I'm going to check the program...


by the way - the sealevel altitude is very accurate, I compared to trig point on the map near the road !!!
__________________
David Erez
Ramat Hasharon, Israel
Reply With Quote
  #14 (permalink)  
Old 11-06-2008, 07:26 PM
agraham's Avatar
Basic4ppc Expert
 
Join Date: Jul 2007
Location: Cheshire, UK
Posts: 5,953
Awards Showcase
Innovator medal Beta Tester Forum Contributer 
Total Awards: 3
Default

Quote:
Originally Posted by derez View Post
9 = Antenna altitude above/below mean sea level (geoid)
10 = Meters (Antenna height unit)
11 = Geoidal separation (Diff. between WGS-84 earth ellipsoid and
mean sea level. -=geoid is below WGS-84 ellipsoid)
I wouldn't read too much into those descriptions. They are off just one site I found and I wouldn't trust it as a definitive description. On my device item 9 seems to really be the altitude above WGS84 and is the value being returned for EllipsoidAltitude. Item 11 is always 0. and SeaLevelAltitude is returned as Invalid.
Reply With Quote
  #15 (permalink)  
Old 11-06-2008, 08:06 PM
derez's Avatar
Basic4ppc Expert
 
Join Date: May 2007
Posts: 918
Awards Showcase
Beta Tester Competition Winner 
Total Awards: 2
Default

I cannot see any nmea stream in the test program. It counts the readings but no data. on the parameters display I see all.

I tried to compile your program but it provides an error.

As you see the accuracy I get with the sealevel is excelent so I will continue to use it, but I really would like to know how the GPS knows this sealevel altitude, and if it is accurate all over the world or just here because this is where Erel lives...

I also wish you could supply the stream, so that it is used for debuging. I find very strange phenomena in devices that operate my program and this whould help.

Thanks.

edit: I checked here NMEA data and it is the same definition.
here: GPS - NMEA sentence information the same definition.
And here you'll see that other people get also confused by this issue : SpringerLink - Journal Article
__________________
David Erez
Ramat Hasharon, Israel

Last edited by derez : 11-06-2008 at 08:43 PM.
Reply With Quote
  #16 (permalink)  
Old 11-06-2008, 10:04 PM
agraham's Avatar
Basic4ppc Expert
 
Join Date: Jul 2007
Location: Cheshire, UK
Posts: 5,953
Awards Showcase
Innovator medal Beta Tester Forum Contributer 
Total Awards: 3
Default

Quote:
Originally Posted by derez View Post
I cannot see any nmea stream in the test program. It counts the readings but no data.
Did you put the correct COM port in the textbox below the Open button? The GPSDriver library does not need a COM port but the GPSDriverNMEA library does. It is the COM port listed under Settings->System-> External GPS (on my device anyway).


Quote:
I tried to compile your program but it provides an error.
The library relies upon stuff that came in with Windows Mobile 5.0. I suspect that your computer needs the WM 5.0 SDK installed to have this stuff available. Perhaps Erel can comment if he sees this post?
Reply With Quote
  #17 (permalink)  
Old 11-07-2008, 07:43 AM
derez's Avatar
Basic4ppc Expert
 
Join Date: May 2007
Posts: 918
Awards Showcase
Beta Tester Competition Winner 
Total Awards: 2
Default

I have internal GPS reciever, but entering its com port didn't help either.
Never mind, I think I understand now what is going on and it's Okay.

thanks.
__________________
David Erez
Ramat Hasharon, Israel
Reply With Quote
  #18 (permalink)  
Old 11-07-2008, 10:27 AM
schimanski's Avatar
Basic4ppc Veteran
 
Join Date: Oct 2007
Location: Germany
Posts: 289
Default GPSDriver and external GPS

Hello!

I have tested the new GPSDriver.dll with my Eten Glofiish X600 and a HTC Touch Diamond, and it' runs very fine!!!!

Now,i have treid to use it on a Qtek S200 with WM5 and a external GPS-Bluetooth mouse. But this doesn't run. Where is the mistake?


thanks

schimanski
Reply With Quote
  #19 (permalink)  
Old 11-07-2008, 10:38 AM
agraham's Avatar
Basic4ppc Expert
 
Join Date: Jul 2007
Location: Cheshire, UK
Posts: 5,953
Awards Showcase
Innovator medal Beta Tester Forum Contributer 
Total Awards: 3
Default

Quote:
Originally Posted by schimanski View Post
external GPS-Bluetooth mouse
This is the mistake. The new library only works on internal GPS because only they have the Intermediate Driver that this library uses. This library was needed because of an incompatibility between the .NET SerialPort used by the Serial2 library and some internal GPS drivers. For an external GPS you should be able to use the exsting Serial2 and GPS libraries. I am considering writing a new GPS library for external GPS that uses the same methods and properties as the new GSPDriver library - but it will be a short while before it is available if I decide to do it and a long while if I decide not!.
Reply With Quote
  #20 (permalink)  
Old 11-07-2008, 11:16 AM
Basic4ppc Veteran
 
Join Date: Feb 2008
Location: Hilversum, The Netherlands
Posts: 295
Awards Showcase
Beta Tester 
Total Awards: 1
Default

Hi Agraham,

Wouldn't it be a better idea to include both internal & external in the new GPS driver lib?
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Door library (Beta) - Special library Erel Official Updates 60 01-13-2011 12:23 PM
Merging Outlook library and Phone library Erel Official Updates 11 09-15-2010 10:22 AM
PhoneticAlgorithms Library (ex-StringComparison Library) moster67 Additional Libraries 10 11-11-2008 08:46 PM


All times are GMT. The time now is 01:36 AM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0