コード例 #1
0
ファイル: Location.c プロジェクト: TopSoup/BasicLoc
/*======================================================================= 
Function: Loc_Start()
=======================================================================*/
int Loc_Start( LocState *pts, PositionData *pData )
{
   int nErr = SUCCESS;

   if( !pts || !pData ) {

      nErr = EBADPARM;
   }
   else if( TRUE == pts->bInProgress ) {

      nErr = EALREADY;
   }
   else {

      AEEGPSConfig config;

      pData->dwFixNum     = 0;

      pts->pResp          = pData;
      pts->nLocInterval = pData->gpsConfig.nInterval;

      IPOSDET_GetGPSConfig( pts->pPos, &config );

      /* Configure the IPosDet Instance */
      config.mode = pData->gpsConfig.mode;
      config.nFixes = pData->gpsConfig.nFixes;
      config.nInterval = pData->gpsConfig.nInterval;

      // ADDING SUPPORT FOR USER-DEFINED PDE IP ADDRESS AND QOS
      config.server = pData->gpsConfig.server;
      config.optim = pData->gpsConfig.optim;
      config.qos = pData->gpsConfig.qos;

      nErr = IPOSDET_SetGPSConfig( pts->pPos, &config );

      if( nErr == EUNSUPPORTED && config.mode == AEEGPS_MODE_TRACK_NETWORK ) {

         /* As AEEGPS_MODE_TRACK_NETWORK is unsupported on certain devices.
         ** and we tried to Loc as AEEGPS_MODE_TRACK_STANDALONE. */

         config.mode = AEEGPS_MODE_TRACK_STANDALONE;

         nErr = IPOSDET_SetGPSConfig( pts->pPos, &config );
      }

      if( nErr == SUCCESS ) {

         pts->bInProgress = TRUE;

         Loc_cbInterval( pts );
      }
   }

   return nErr;
}
コード例 #2
0
ファイル: Location.c プロジェクト: TopSoup/BasicLoc
static void Loc_StandAlone( LocState *pts )
{
   AEEGPSConfig config;

   DBGPRINTF( "Loc_StandAlone" );

   (void) IPOSDET_GetGPSConfig( pts->pPos, &config );

   config.mode = AEEGPS_MODE_TRACK_STANDALONE;

   (void) IPOSDET_SetGPSConfig( pts->pPos, &config );
}
コード例 #3
0
ファイル: Location.c プロジェクト: TopSoup/BasicLoc
static void Loc_Network( LocState *pts )
{
   AEEGPSConfig config;

   DBGPRINTF( "Loc_Network" );
   
   (void) IPOSDET_GetGPSConfig( pts->pPos, &config );

   config.mode = AEEGPS_MODE_TRACK_NETWORK;

   (void) IPOSDET_SetGPSConfig( pts->pPos, &config );
}
コード例 #4
0
ファイル: SP_Track.c プロジェクト: virqin/brew_code
static void Track_Local( TrackState *pts )
{
   AEEGPSConfig config;

   DBGPRINTF( "TRACK LOCAL" );

   (void) IPOSDET_GetGPSConfig( pts->pPos, &config );

   config.mode = AEEGPS_MODE_TRACK_LOCAL;

   (void) IPOSDET_SetGPSConfig( pts->pPos, &config );

   pts->bModeLocal = TRUE;
}
コード例 #5
0
ファイル: SP_Track.c プロジェクト: virqin/brew_code
static void Track_Network( TrackState *pts )
{
   AEEGPSConfig config;

   DBGPRINTF( "TRACK NETWORK" );
   
   (void) IPOSDET_GetGPSConfig( pts->pPos, &config );

   config.mode = AEEGPS_MODE_TRACK_NETWORK;

   (void) IPOSDET_SetGPSConfig( pts->pPos, &config );

   pts->bModeLocal = FALSE;
}