141
Positioning Data Using the GPS Intermediate Driver API
The Windows Mobile GPS intermediate driver provides an API to analyze NMEA character
strings and obtain positioning data.
The GPS intermediate driver API can be used in the following procedure.
1.
Create an event with
CreateEvent()
in order to detect GPS module status changes and output.
2.
Connect to the GPS module with
GPSOpenDevice()
. GPS module status and positional
changes can be registered for each event with
GPSOpenDevice()
. “Positional change” events
actually indicate that NMEA output from the GPS module has been received. The GPS module
generally outputs several lines of NMEA character strings each second.
3.
Use
WaitForMultipleObjects()
or
WaitForSingleObject()
to wait for events.
4.
When notification of a “positional change” is received, use
GPSGetPosition()
to retrieve the
data. Positioning data can be retrieved from each member inside the GPS_POSITION structure.
Some of the structural members are listed in the table below.
Table 2.107
Member Format
Contents
DwValidFields DWORD
The validity or invalidity of retrieved data is shown in Bits for
each GPS_POSITION structural field.
stUTCTime
SYSTEMTIME
UTC time retrieved from the satellites is shown in
SYSTEMTIME format.
dblLatitude
Double
Latitude is expressed in degrees.
A positive value indicates northern latitude.
dblLongitude
Double
Longitude is expressed in degrees.
A positive value indicates an eastern longitude.
flSpeed
Float
Traveling speed is shown in knots (nautical miles/hour)
flHeading
Float
Traveling direction is expressed in degrees. 0° represents true
north.
FixType
GPS_FIX_TYPE
GPS measurement is shown in either 2D or 3D.
5.
Repeat steps 3 and 4 as required by the application.
6.
When positioning data is no longer required, the connection can be terminated with
GPSCloseDevice()
.
3
Figure 2.12 shows the flowchart of the procedure.
Note:
Depending on the design of application, it may also be possible to retrieve regular positioning data
with
GPSGetPosition()
and status with
GPSGetDeviceState()
after opening the device with
GPSOpenDevice()
without having to register events.
Содержание IT-800 Series
Страница 15: ...15 2 1 4 Keys Keyboard Layout The following is the keyboard layout employed in the terminal Figure 2 1 ...
Страница 91: ...91 QR Code Enable 0 Min 1 Max 3500 Aztec Enable 0 Min 1 Max 3750 TLCode39 Enable 0 Code 32 Enable 0 ...
Страница 173: ...173 Copyrights Tab This tab is for displaying the OS copyright information Figure 3 19 ...
Страница 179: ...179 Root Tab Figure 3 27 Root certificates authenticate certificates received from other hosts ...
Страница 195: ...195 About Tab This tab displays current version information of the imager setting tool Figure 3 46 ...
Страница 201: ...201 Date Tab This tab is for setting display format of date Figure 3 56 ...
Страница 213: ...213 3 29 Windows Update This applet is used to keep the integrated operating system up to date Figure 3 74 ...
Страница 216: ...216 3 32 Domain Enrollment This applet is used to enroll the terminal to your company network Figure 3 78 ...
Страница 247: ...247 4 2 Games The terminal comes with two games Solitaire and Bubble Breaker Figure 4 2 ...
Страница 248: ...248 4 3 ActiveSync This application is an ActiveSync client program for the terminal to communicate with PC Figure 4 3 ...
Страница 255: ...255 4 5 Calculator The application can be used to operate nine digit calculator Figure 4 11 ...
Страница 261: ...261 2 On the child terminal the following screen appears while the child terminal is receiving data Figure 4 17 ...
Страница 264: ...264 4 11 Getting Started This application displays shortcut menus for setting up the terminal Figure 4 21 ...