Training Course
Casio DT-X30 GPS Name: Function: Arne Reinelt Product Support
What to expect? Basic Specifications Interferences GPS Intermediate Driver Power Management Registry Settings NMEA Sentences WGS84 Model Workshop
Basic Specifications Feature Chipset Output Format Geodetic System Position Accuracy Interface Details Antaris 4, 16 channels, 1575.42 MHz National Marine Electronic Association NMEA-0183 U.S. Global Geodetic System WGS84 2.5 m CEP; 5.0 m SEP * Serial Port; MS GPS Intermediate Driver * The Circular Error Probable (CEP) defines the radius of a circle that represents a 50 percent probability of a position lying in that circle. The Spherical Error Probable (SEP) probability is the same except that it represents three-dimensional accuracy because it defines the radius of a sphere
GPS Information (1/2) Status Tab Significant Entries: Fix Type: 2D/3D Received: Age of location information S/N Ratio: Satellite number and signal quality GPS Information at Start, Programs, Utility
GPS Information (2/2) Position Tab Significant Entries: Location information (Latitude, Longitude, Heading, Speed) Disp Satellites: DOP, Dilution of Precision Logging: Refer to slide "Registry Settings" below, please
Dilution of Precision (DOP) The lower the DOP, the more accurate your GPS position is likely to be.
Interferences The line of sight affects start-up time and accurate calculation of position. If there are only a few satellites in direct view, the calculation might be wrong. No GPS Poor GPS Good GPS
Start-up Strategies Current time and last position known? Yes No Coldstart > 34 seconds Valid ephemeris available? Yes No Warmstart Hotstart > 33 seconds An ephemeris is a table of values that gives the positions of astronomical objects in the sky at a given time. It is saved for no longer than 2 hours. < 3.5 seconds
Plausibility Check Always check: Dilution of Precision Fix Type (2D/3D) Age of Data Bad Trap! The GPS receiver tries to calculate a position even if it might be wrong. Range of Data Signal Strength
GPS Intermediate Driver App 1 App 2 App 3 These applications use the shared virtual serial port App 4 COM8 GPS Intermediate Driver GII1 115.200 bps GPS Receiver App 5 These applications use the GPS Intermediate Driver API
Raw GPS Data User Application CreateFile ReadFile Parsing Data CloseHandle $GPGSA,A,2,14,29,09,,,,,,,,,,7.81,7.74,1.00*0F $GPGSV,3,1,12,30,74,277,,12,57,089,,02,35,093,,32,03,3 23,*74 $GPGSV,3,2,12,20,02,344,,24,03,163,,14,33,254,35,29,4 4,207,36*72 $GPGSV,3,3,12,09,20,150,28,04,23,047,,31,24,309,,20,0 2,344,*74 $GPRMC,123118.00,A,5339.83733,N,00959.11806,E,0.7 37,239.31,240908,,,A*63 NMEA Sentences $GPGGA,123118.00,5339.83733,N,00959.11806,E,1,03,7.75,25.5,M,45.9,M,,*63 $GPGSA,A,2,14,29,09,,,,,,,,,,7.81,7.75,1.00*0E $GPGSV,3,1,12,30,74,277,,12,57,089,,02,35,093,,32,03,3 23,*74 $GPGSV,3,2,12,20,02,344,,24,03,163,,14,33,254,35,29,4 4,207,36*72 $GPGSV,3,3,12,09,20,150,28,04,23,047,,31,24,309,,20,0 2,344,*74 $GPRMC,123119.00,A,5339.83735,N,00959.11801,E,0.8 31,238.10,240908,,,A*68 $GPGGA,123119.00,5339.83735,N,00959.11801,E,1,03,7.76,25.5,M,45.9,M,,*60
Raw GPS Data Instead of CreateFile, you can use the SerialPort control in Visual Studio for the port GII1, but not for the shared virtual serial port COM8.
Parsed GPS Data GPSOpenDevice NewLocationData GPSGetPosition $GPGSA,A,2,14,29,09,,,,,,,,,,7.81,7.74,1.00*0F $GPGSV,3,1,12,30,74,277,,12,57,089,,02,35,093,,32,03,3 23,*74 $GPGSV,3,2,12,20,02,344,,24,03,163,,14,33,254,35,29,4 4,207,36*72 $GPGSV,3,3,12,09,20,150,28,04,23,047,,31,24,309,,20,0 NMEA 2,344,*74 $GPRMC,123118.00,A,5339.83733,N,00959.11806,E,0.7 Sentence 37,239.31,240908,,,A*63 GPS_POSITION DeviceStateChange NMEA $GPGSA,A,2,14,29,09,,,,,,,,,,7.81,7.74,1.00*0F $GPGSV,3,1,12,30,74,277,,12,57,089,,02,35,093,,32,03,3 Sentence 23,*74 GPSGetDeviceState GPS_DEVICE GPSCloseDevice $GPGSA,A,2,14,29,09,,,,,,,,,,7.81,7.74,1.00*0F $GPGSV,3,1,12,30,74,277,,12,57,089,,02,35,093,,32,03,3 NMEA 23,*74 Sentence $GPGSV,3,2,12,20,02,344,,24,03,163,,14,33,254,35,29,4
GPS_POSITION Structure In the main thing, "valid fields depend on how old the location data may be. This is controlled by the call to GPSGetPosition. Valid fields do not necessarily represent the actual location.
Software Development Interface Port GII1 Native Interface Port COM8 GPS Intermediate Driver Microsoft GPS Intermediate Driver API C/C++ CreateFile etc. CreateFile etc. GPSOpenDevice etc. VB/C# DllImport: CreateFile etc. - or - MS SerialPort Control DllImport: CreateFile etc. DllImport: GPSOpenDevice - or - Casio GPS Control
MS SerialPort Control Event handlers run in a separate thread. Use BeginInvoke method to update the user interface thread. Never useinvoke method, because it will lead to a deadlock situation. Deadlock Refer to MSDN for further details, please.
Power Management Operation GPS Power CreateFile, GPSOpenDevice Suspend (Power Button) Resume (Power Button) CloseHandle, GPSCloseDevice Enabled Disabled Enabled Disabled
Power Management Power CreateFile GPSOpenDevice Suspend (Power Button) Resume (Power Button) CloseHandle GPSCloseDevice Time
Registry Settings HKLM\System\CurrentControlSet\GPS Intermediate Driver Value : type IsEnabled : REG_DWORD CurrentLogFile : REG_SZ OldLogFile : REG_SZ MaxLogFileSize : REG_DWORD Description Default setting is 1, which enables the driver. Path and filename to which GPS raw data is written. When MaxLogFileSize is reached, old data is copied to this file. Maximum size of the CurrentLogFile (default: 32,768).
Input from File Remap "CurrentDriver" Specify input file
NMEA Sentences (Selection) Address Description Remarks $ GP GGA $ GP GSA $ GP GSV $ GP RMC Fix Information Overall Satellite Data Detailed Satellite Data Recommended Minimum Data Essential fix data which provide 3D location and accuracy data. DOP and active satellites. Information about up to 4 satellites in one sentence. Position, velocity, time, etc.
NMEA Sentence NMEA Protocol Frame Checksum range Start character (always '$ ) $ <Address> {,<value>} [*<checksum>] <CR><LF> Comma separated data field with variable length End sequence Only digits and uppercase letters, cannot be null. This field is subdivided into 2 fields: <XX> <XXX> Optional checksum field starts with a '*' and consists of 2 characters representing a hex number. The checksum is the exclusive OR of all characters between '$' and '*'. Talker identifier (always GP ) Sentence formatter, defines the content Example: $ GP ZDA,141644.00,22,03,2002,00,00 *67 <CR><LF> For further details refer to http://www.gps.gov/, please.
$GPGGA Fix Information GPS Quality (1 = GPS fix) # of Sats Time 15:55:32 Latitude Longitude HDOP $GPGGA,155532.00,4524.00259,N,07555.15043,W,1,08,1.4,73.7,M,-34.1,M,,*66 (in degrees and decimal minutes) H: Height above N (mean sea level) N: Height of geoid above WGS84 ellipsoid Othometric Height H Geoid Height N (Mean Sea Level)
World Geodetic System Geoid Othometric Height H WGS84 Geoid Height N h WGS84 Ellipsoid Height from GPS WGS84 Ellipsoid The World Geodetic System WGS84 defines a reference frame for the earth.
Workshop
1 + 1 = 10 /* no comment */ > y d o b < Questions & Answers reverse engineering $> cd /pub/ $> more beer Lif e is too sh ort for 5 6k