Ahmed_PFE_Embarq_300415

Dependencies:   C12832 LM75B mbed

Fork of Ahmed_Embarq_Prog by ahmed ahmed

_GPS/RecGPS.h

Committer:
pfe
Date:
2015-04-21
Revision:
0:05a20e3e3179

File content as of revision 0:05a20e3e3179:

unsigned char _DL,_Npt,_Pospt;
unsigned char _hh,_mm,_ss;
unsigned char _LatDeg,_LatMin,_LatMin1,_LatMin2,_LatDir;
unsigned char _LongDeg,_LongMin,_LongMin1,_LongMin2,_LongDir;
unsigned char _Qual;
unsigned char _SignHMSL,_HMSL_L,_HMSL_H,_HMSL_1,_HMSL_2,_HUnite;
unsigned char _dd,_yy,_mn,_val;

unsigned char _Data[16],_PosV[16],_MsgGPSRx[100];

// defini un structure
typedef struct {
          unsigned char GGA_Valid;
          unsigned char hh;
          unsigned char mm;
          unsigned char ss; 
  
          unsigned char LatDeg; 
          unsigned char LatMin;
          unsigned char LatMin1;
          unsigned char LatMin2;
          unsigned int  Latmmmm;
          unsigned char LatDir;
          
          unsigned char LongDeg;
          unsigned char LongMin;
          unsigned char LongMin1;
          unsigned char LongMin2;
          unsigned int  Longmmmm;
          unsigned char LongDir;
          
          unsigned char Qual;
                  
          unsigned int  HMSL;          
          unsigned char SignHMSL;
          unsigned char HUnite;  
}StructGPS;

StructGPS GpsData;
//------------------------------------------------------------------------------
//Calcul de la longueur des sous message
unsigned char Get_Length(unsigned short index)
 {
    static unsigned char LongData;
    LongData=_PosV[index+1]-_PosV[index]-1;
    return LongData;
 }
//Décomposition du message en Sub message
void Set_Data(unsigned char index){
    static unsigned char ii,jj;
    static unsigned char Start,End;
    ii=0;
    Start = _PosV[index]+1;    
    End   = _PosV[index+1];  
    
    for(jj=Start;jj<End;jj++){
       _Data[ii] = _MsgGPSRx[jj];      
       ii++;
    }
 } 
//Vérification des sub message
void Validation_StrToFloat(unsigned char LongData)
 {
    unsigned char ii;
    _Npt   = 0;
    _Pospt = 0;
    for(ii=0;ii<LongData;ii++){
       if(_Data[ii]=='.')
        {
          _Npt++;
          _Pospt=ii;
        }
        else if((_Data[ii]<48)||(_Data[ii]>57)) _Npt=_Npt+2;
     }
 }
 
void DecodageGPGGA(unsigned char Ldata);
 
//------------------------------------------------------------------------------
#include "DecMsgGPGGA.h"       // GPGGA
//------------------------------------------------------------------------------