2017年伊豆大島共同打ち上げ実験用電装モジュール搭載GPS測位プログラム

Dependents:   Hybrid_interruptGPS Hybrid_main_FirstEdtion rocket_logger_sinkan2018_v1 HYBRYD2018_IZU_ROCKET ... more

Revision:
11:1897b52fa8a1
Parent:
10:a006445dc76d
Child:
12:935b21d30ec2
--- a/GPS_interrupt.cpp	Thu Nov 23 02:24:20 2017 +0000
+++ b/GPS_interrupt.cpp	Sat Nov 25 07:00:51 2017 +0000
@@ -43,27 +43,34 @@
     }
     return val;
 } 
-GPS_interrupt::GPS_interrupt(Serial &_gps){
+GPS_interrupt::GPS_interrupt(Serial *_gps){
 
+    if(_gps == NULL){
+        error("GPS UART BUS ERROR!!\r\n");   
+    }
     debugFlag = false;
     initialize();
-    baudrate = 115200;//_baudrate;
-    frequency = 10;
+    baudrate = 9600;//_baudrate;
+    frequency = 1;
     gps_irq = this;
-    gps = &_gps;
+    gps = _gps;
+    gps->baud(baudrate);
     gps->attach(gps_irq, &GPS_interrupt::gps_auto_receive, Serial::RxIrq);    
 }
 
-GPS_interrupt::GPS_interrupt(Serial *_gps, int _frequency){
+GPS_interrupt::GPS_interrupt(Serial *_gps, int _baudrate){
     
+    if(_gps == NULL){
+        error("GPS UART BUS ERROR!!\r\n");   
+    }
     debugFlag = false;
     initialize();
-    baudrate = 9600;//_baudrate;
-    frequency = _frequency;
+    baudrate = _baudrate;
+    //frequency = _frequency;
     gps_irq = this;
     gps = _gps;
-    gps->baud(9600);
-    if(baudrate == 9600){
+    gps->baud(baudrate);
+    /*if(baudrate == 9600){
          gps->printf("$PMTK251,9600*17\r\n");
     }
     else if(baudrate == 19200){
@@ -84,8 +91,9 @@
         wait(0.2);
     }
     gps->baud(9600);
-    baudrate = 9600;
-    wait(0.1);
+    */
+    //baudrate = 9600;
+    /*wait(0.1);
     
     //gps->printf("$PMTK351,1*28\r\n");//$PMTK351,1*28<CR><LF> :Enable QZSS NMEA format 
     unsigned char checksum = 0;
@@ -104,6 +112,7 @@
     else if(_frequency == 5)  gps->printf("$PMTK220,200*2C\r\n");
     else if(_frequency == 10)   gps->printf("$PMTK220,100*2F\r\n");
     wait(0.2);
+    */
     gps->attach(gps_irq, &GPS_interrupt::gps_auto_receive, Serial::RxIrq);
 }
 
@@ -163,7 +172,7 @@
     
     temp = gps->getc();
     
-    //if(debugFlag) printf("%c", temp);
+    if(debugFlag) printf("%c", temp);
     
     if(temp == '$'){
         current = 1;