ahmed ahmed / Mbed 2 deprecated Nadia_ComGPS_1

Dependencies:   C12832 mbed

Fork of ComGPS by SAADI Nadia

Revision:
1:821bd360ec5b
Parent:
0:674a094baf00
Child:
2:4cf92185ed38
--- a/main.cpp	Sun Mar 01 11:39:40 2015 +0000
+++ b/main.cpp	Tue Mar 03 13:35:34 2015 +0000
@@ -1,24 +1,87 @@
 #include "mbed.h"
 #include "C12832.h"
-
- 
-Serial GPS(p13, p14); //Pin13 TX, pin14 RX. 
+#include "GPS_Init.h"
 C12832 lcd(p5, p7, p6, p8, p11);
 
+Serial pc(USBTX,USBRX); // communication PC à 9600 baud/sec par défaut
+Serial GPS(p9, p10); //Pin9 TX, pin10 RX. 
+
+unsigned short UserWR_buffer[32];
+unsigned short NbDataRec,En,Ldata;
+unsigned short MsgGPSRx[65]; // Déclaration d'un vecteur de 65 charactères
+
+
 int main() {
-  GPS.baud(9600);
-  unsigned char GPS_DATA;
+  GPS.baud(9600); // vérifier que votre GPS est à 9600, le plus souvent ils sont à 9600 !!!!!
+  char gps_mess;
   lcd.cls();
   lcd.locate(0,0);
   lcd.printf("GPS FIX");
+  
   while(1){
+//     
       if(GPS.readable()){
-        GPS_DATA=GPS.getc();
-        lcd.locate(0,15);
-        lcd.printf("%d",GPS_DATA);
-          }
+        gps_mess=GPS.getc();
+        if (gps_mess=='$'){
+             NbDataRec=0;//Initialisation de bbb à 0
+             En=1;
+             while(En){
+                    while(!GPS.readable());
+                    gps_mess = GPS.getc();    //Lecture du message GPS via USART
+                    MsgGPSRx[NbDataRec] = gps_mess;             //Stockage du message GPS dans un vecteur
+                    NbDataRec++;
+                    if((gps_mess==0x0D)||(NbDataRec==65)) En=0; // Vérification de la fin du message
+                 }
+             Ldata=NbDataRec;
+             DecodageGPGGA(MsgGPSRx,Ldata);       
+             
+             if (MSG_GPGGA_Valid){
+                lcd.locate(0,10);
+                lcd.printf("MSG GPS Valid"); 
+                UserWR_buffer[0]++;            
+ //-----------------------------------------------------------------------------
+                UserWR_buffer[1] = hh;
+                UserWR_buffer[2] = mm;
+                UserWR_buffer[3] = ss;
+ //-----------------------------------------------------------------------------
+                UserWR_buffer[4] = LatDeg;
+                UserWR_buffer[5] = LatMin;
+                UserWR_buffer[6] = LatMin1;
+                UserWR_buffer[7] = LatMin2;
+                UserWR_buffer[8] = LatDir;
+ //-----------------------------------------------------------------------------
+                UserWR_buffer[9]  = LongDeg;
+                UserWR_buffer[10] = LongMin;
+                UserWR_buffer[11] = LongMin1;
+                UserWR_buffer[12] = LongMin2;
+                UserWR_buffer[13] = LongDir;
+ //-----------------------------------------------------------------------------
+                UserWR_buffer[14] = Qual;
+ //-----------------------------------------------------------------------------
+                UserWR_buffer[15] = HMSL_H;
+                UserWR_buffer[16] = HMSL_L;
+                UserWR_buffer[17] = HMSL_1;
+                UserWR_buffer[18] = HMSL_2;
+                UserWR_buffer[19] = SignHMSL;
+                UserWR_buffer[20] = HUnite;
+                pc.printf("%d",hh); // afficher sur la console de PC.
+                MSG_GPGGA_Valid=0;
+               }    
+            }
+         }
+
+        // Vous ne pouvez pas afficher un message brut car il fait au moins 40 caractères et en plus le contenue
+        // est brut donc il faut le décoder !!!!! donc affichage à revoir.
+        // Contentez vous d'afficher cela sur le port USB du PC.
+        // il vous faidra pour cela installer le drivers Mbed je le mets en partage sir le compte google drive
+        //il suffit de le lancer 
+        
+        // afficher sur la console de PC.
+        // utiliser pour cela le programme Terminal.exe que je mets en partage aussi
+        // Vous trouverez le driver terminal + le logiciel Terminal dans le répértoir GPS dans google drive
+        
+        //lcd.locate(0,15);
+        //lcd.printf("%d",GPS_DATA);  Pas possible pour le moment
+        
       }
-  
- 
-  
-}
\ No newline at end of file
+  }