GlRequest Class Reference

Application requests to the GlEngine class. More...

#include <glgpsapi.h>

List of all members.

Public Member Functions

virtual ~GlRequest (void)
 Define virtual destructor.
Methods to specify callback functions for receiving results of requests
virtual void SetOnNmea (GlReqOnNmea cbOnNmea)=0
 Called when NMEA sentence is available.
virtual void SetOnResponse (GlReqOnResponse cbOnResponse)=0
 Called when response is available.
virtual void SetOnSIGMeasurement (GlReqOnMeas cbOnMeasurement)=0
 Called when signal measurement is available.
virtual void SetOnCntin (GlReqOnCntin cbOnCntin)=0
 Called when CNTIN measurement is completed.
virtual void SetOnTimer (GlReqOnTimer cbOnTimer)=0
 Called when timer is expired.
virtual void SetOnFactTest (GlReqOnFactTest cbOnFactTest)=0
 Called when factory test information is updated.
virtual void SetOnStop (GlReqOnStop cbOnStop)=0
 Called when request is completed.
Miscellaneous methods
virtual void StopAfter (long lMaxValidFixCount, long lMaxTotalFixCount, long lMaxTestDurationSec, short sMaxNbSyncinMeas=-1)=0
 Optional stop criteria for periodic fixes ,-1 indicates infinity.
virtual void SetGsvRate (short sGsvRate)=0
 Set the output rate of $GPGSV messages.
virtual void SetUserData (void *pUserData)=0
 Set a pointer to the user data.
virtual void * GetUserData ()=0
 Obtain user data.

Static Public Member Functions

Methods that create an instance to a request object of a particular type
static GlRequestMakePosReqPeriodic (unsigned long ulPeriodMs, short sTimeOutSec, long lAccuracyMeters, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Creates an instance of a periodic position measurement request to the GLL.
static GlRequestMakePosReqSingle (short sTimeOutSec, long lAccuracyMeters, unsigned short usMaxLocAgeSec, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Create an instance of a single shot request to the GLL.
static GlRequestMakeMeasReqPeriodic (unsigned long ulPeriod, long lAccuracyMeters, bool bEnhanced, GlReqOnStart cbOnStart, GlReqOnMeas cbOnMeas, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE, bool bPreferCoarseTime=false)
 Create an instance of a periodic raw measurement request to the GLL.
static GlRequestMakeMeasReqSingle (short sTimeOutSec, long lAccuracyMeters, bool bEnhanced, GlReqOnStart cbOnStart, GlReqOnMeas cbOnMeas, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE, bool bPreferCoarseTime=false)
 Create an instance of a single shot raw measurement request to the GLL.
static GlRequestMakeCollectEph (GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Create an instance of a collect ephemeris request to the GLL This is designed to be created about every hour to maintain the unit in "hot start".
static GlRequestMakeFactTestReq (short sFactTestPRN, GL_FACT_TEST_ITEMS etTestItems, GL_FACT_TEST_MODE etTestMode, short sMaxDurationSec, short sAvgIntrvlSec, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE, unsigned short usIntegrationTimeSec=10, unsigned short usNeglectIQSec=3)
static GlRequestMakeFactTestReq (short sFactTestPRN, short sFactTestGloFCN, short sFactTestBdsPrn, GL_FACT_TEST_ITEMS etTestItems, GL_FACT_TEST_MODE etTestMode, short sMaxDurationSec, short sAvgIntrvlSec, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE, unsigned short usIntegrationTimeSec=10, unsigned short usNeglectIQSec=3)
static GlRequestMakeCntInReq (GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request for frequency counter measurement.
static GlRequestMakeSyncInReq (short sTimeOutSec, GlReqOnSyncInReport cbOnSyncInReport, GlReqOnSyncInStatus cbOnSyncInStatus, GlReqOnSyncInLatched cbOnSyncInLatched, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request to perform precise time synchronization.
static GlRequestMakeTimerReq (unsigned long ulNumEvents, unsigned long ulPeriodMs, GlReqOnTimer cbOnTimer, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request a timer.
static GlRequestMakeAsstStatReq (GlReqOnStart cbOnStart, GlReqOnAsstStatus cbOnAsstStatus, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request for the status of currently available assistance data.
static GlRequestMakeGetGpsDataReq (unsigned long ulReqDataMask, GlReqOnStart cbOnStart, GlReqOnGpsData cbOnGpsData, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request for delivering available assistance data Nav and Alm data for other constellation than GPS is not supported for now.
static GlRequestMakeFreqScanReq (long lInitFreq, long lEndFreq, unsigned long ulFreqStep, unsigned long ulRBW, unsigned long ulVBW, unsigned long ulFlags, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request for a frequency scan test.
static GlRequestMakePlatformTestReq (const GL_PLATFORM_TEST_PARAM &otPARAMS, GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request a platform test.
static GlRequestMakeGeofenceReq (native_double dLatitude, native_double dLongitude, native_double dRadius, GL_REQ_GEOFENCE_CODE eInitialState, unsigned int uiMonitorTransitions, int iNotificationResponsivenessMs, int iUknownTimerMs, GlReqOnStart cbOnStart, GlReqOnGeofenceEvent cbOnEvent, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request for a geofence monitoring.
static GlRequestMakeBreadcrumbReq (GlReqOnStart cbOnStart, GlOnMemAlloc cbOnMemAlloc=GL_DFLT_MEM_ALLOC, GlOnMemFree cbOnMemFree=GL_DFLT_MEM_FREE)
 Request for breadcrumb (positions will be dumped if GlReqOnReponse callback is set using SetOnResponse method)

Detailed Description

Application requests to the GlEngine class.


Member Function Documentation

static GlRequest* GlRequest::MakeAsstStatReq ( GlReqOnStart  cbOnStart,
GlReqOnAsstStatus  cbOnAsstStatus,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request for the status of currently available assistance data.

Parameters:
cbOnStart- callback to be invoked when the request starts
cbOnAsstStatus- Callback when assistance status information is avaiable
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeBreadcrumbReq ( GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request for breadcrumb (positions will be dumped if GlReqOnReponse callback is set using SetOnResponse method)

Parameters:
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
static GlRequest* GlRequest::MakeCntInReq ( GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request for frequency counter measurement.

Parameters:
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeCollectEph ( GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Create an instance of a collect ephemeris request to the GLL This is designed to be created about every hour to maintain the unit in "hot start".

Parameters:
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeFactTestReq ( short  sFactTestPRN,
GL_FACT_TEST_ITEMS  etTestItems,
GL_FACT_TEST_MODE  etTestMode,
short  sMaxDurationSec,
short  sAvgIntrvlSec,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE,
unsigned short  usIntegrationTimeSec = 10,
unsigned short  usNeglectIQSec = 3 
) [static]
Parameters:
sFactTestPRN- The GPS PRN ID configured in the simulator,
etTestItems- What to test ( see GL_FACT_TEST_ITEMS )
etTestMode- Specifies if test needs to be run once or continously.
sMaxDurationSec- Maximum duration of the test. ( see GL_FACT_TEST_MODE)
sAvgIntrvlSec- Averaging interval in seconds
cbOnStart- callback to be invoked when testing starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeFactTestReq ( short  sFactTestPRN,
short  sFactTestGloFCN,
short  sFactTestBdsPrn,
GL_FACT_TEST_ITEMS  etTestItems,
GL_FACT_TEST_MODE  etTestMode,
short  sMaxDurationSec,
short  sAvgIntrvlSec,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE,
unsigned short  usIntegrationTimeSec = 10,
unsigned short  usNeglectIQSec = 3 
) [static]
Parameters:
sFactTestPRN- The GPS PRN ID configured in the simulator
sFactTestGloFCN- The GLONASS FCN ID configured in the simulator
sFactTestBdsPrn- The BDS PRN ID configured in the simulator
etTestItems- What to test (see GL_FACT_TEST_ITEMS)
etTestMode- Specifies if test needs to be run once or continously
sMaxDurationSec- Maximum duration of the test. (see GL_FACT_TEST_MODE)
sAvgIntrvlSec- Averaging interval in seconds
cbOnStart- callback invoked when testing starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeFreqScanReq ( long  lInitFreq,
long  lEndFreq,
unsigned long  ulFreqStep,
unsigned long  ulRBW,
unsigned long  ulVBW,
unsigned long  ulFlags,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request for a frequency scan test.

Parameters:
lInitFreq- Start frequency (Hz) of the scan, referenced to L1 (0 means 1575420000Hz for GPS band and 1602000000 Hz for GLONASS band)
lEndFreq- End frequency (Hz) of the scan, referenced to L1
ulRBW- Resolution bandwidth
ulVBW- Video bandwidth
ulFlags- logical OR of FREQ_SCAN_*** flags above.
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
static GlRequest* GlRequest::MakeGeofenceReq ( native_double  dLatitude,
native_double  dLongitude,
native_double  dRadius,
GL_REQ_GEOFENCE_CODE  eInitialState,
unsigned int  uiMonitorTransitions,
int  iNotificationResponsivenessMs,
int  iUknownTimerMs,
GlReqOnStart  cbOnStart,
GlReqOnGeofenceEvent  cbOnEvent,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request for a geofence monitoring.

Parameters:
dLatitude- Latitude of the fence
dLongitude- Longitude of the fence
dRadius- Radius of the fence
cbOnStart- callback to be invoked when the request starts
cbOnEvent- callback to be invoked when events occur
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
static GlRequest* GlRequest::MakeGetGpsDataReq ( unsigned long  ulReqDataMask,
GlReqOnStart  cbOnStart,
GlReqOnGpsData  cbOnGpsData,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request for delivering available assistance data Nav and Alm data for other constellation than GPS is not supported for now.

Parameters:
ulReqDataMask- Requested data Mask (see GL_GPS_DATA)
cbOnGpsData- Called when GLL information is available
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeMeasReqPeriodic ( unsigned long  ulPeriod,
long  lAccuracyMeters,
bool  bEnhanced,
GlReqOnStart  cbOnStart,
GlReqOnMeas  cbOnMeas,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE,
bool  bPreferCoarseTime = false 
) [static]

Create an instance of a periodic raw measurement request to the GLL.

Parameters:
ulPeriod- Desired periodic update rate
lAccuracyMeters- Desired accuracy for first period only (same as MeasReqSingle for 1st period only)
bEnhanced- MS-B assistance enhances MS-A measurements
cbOnStart- callback to be invoked when the request starts
cbOnMeas- callback function when measurement is available
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
bPreferCoarseTime- Prefer coarse time
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeMeasReqSingle ( short  sTimeOutSec,
long  lAccuracyMeters,
bool  bEnhanced,
GlReqOnStart  cbOnStart,
GlReqOnMeas  cbOnMeas,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE,
bool  bPreferCoarseTime = false 
) [static]

Create an instance of a single shot raw measurement request to the GLL.

Parameters:
sTimeOutSec- Desired response time
lAccuracyMeters- Desired accuracy for first period only (same as MeasReqSingle for 1st period only)
lAccuracyMeters- Desired accuracy for first period only (same as MeasReqSingle for 1st period only)
bEnhanced- MS-B assistance enhances MS-A measurements.
cbOnMeas- Callback function when measurement is available
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
bPreferCoarseTime- Prefer coarse time
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakePlatformTestReq ( const GL_PLATFORM_TEST_PARAM &  otPARAMS,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request a platform test.

Parameters:
otPLATFORM_TEST- The platform test parameters
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory

Most typical use is SerialStressTest: otPARAMS.etPLATFORM_TEST is PLATFORM_TEST_SERIAL_STRESS

static GlRequest* GlRequest::MakePosReqPeriodic ( unsigned long  ulPeriodMs,
short  sTimeOutSec,
long  lAccuracyMeters,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Creates an instance of a periodic position measurement request to the GLL.

Parameters:
ulPeriodMs- Desired periodic update rate
sTimeOutSec- Relax accuracy mask after sTimeOutSec with no fix
lAccuracyMeters- Desired accuracy for first period only (same as MeasReqSingle for 1st period only)
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakePosReqSingle ( short  sTimeOutSec,
long  lAccuracyMeters,
unsigned short  usMaxLocAgeSec,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Create an instance of a single shot request to the GLL.

Parameters:
sTimeOutSec- Desired response time
lAccuracyMeters- Desired accuracy
usMaxLocAgeSec- If the most recent computed position has age is smaller than usMaxLocAgeSec, then no new position will be computed and the most recent one will be returned
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeSyncInReq ( short  sTimeOutSec,
GlReqOnSyncInReport  cbOnSyncInReport,
GlReqOnSyncInStatus  cbOnSyncInStatus,
GlReqOnSyncInLatched  cbOnSyncInLatched,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request to perform precise time synchronization.

Parameters:
sTimeOutSec- Request timeout in seconds, -1 for no timeout
cbOnSyncInReport- Callback for SYNCIN reports.
cbOnSyncInStatus- Callback for SYNCIN status.
cbOnSyncInLatched- Callback when SYNCIN is latched.
cbOnStart- Callback when SYNCIN is started.
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
static GlRequest* GlRequest::MakeTimerReq ( unsigned long  ulNumEvents,
unsigned long  ulPeriodMs,
GlReqOnTimer  cbOnTimer,
GlReqOnStart  cbOnStart,
GlOnMemAlloc  cbOnMemAlloc = GL_DFLT_MEM_ALLOC,
GlOnMemFree  cbOnMemFree = GL_DFLT_MEM_FREE 
) [static]

Request a timer.

Parameters:
ulNumEvents- number of timer events
ulPeriodMs- Timeout period in milliseconds ulPeriodMs must not exceed GL_GLL_NOT_ACTIVE
cbOnTimer- Callback when timer expires
cbOnStart- callback to be invoked when the request starts
cbOnMemAlloc- callback to allocate memory
cbOnMemFree- callback to free memory
Return values:
Returnspointer to the newly created request object.
virtual void GlRequest::SetGsvRate ( short  sGsvRate) [pure virtual]

Set the output rate of $GPGSV messages.

Parameters:
sGsvRateNumber of seconds in between consecutive $GPGSV messages. Default value = 0, i.e. appropriate interval selected by GLL.
Remarks:
Refer to GL XML Config file description for configuring this attribute for a particular job.

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines