2017年伊豆大島共同打ち上げ実験用電装モジュール搭載GPS測位プログラム
Dependents: Hybrid_interruptGPS Hybrid_main_FirstEdtion rocket_logger_sinkan2018_v1 HYBRYD2018_IZU_ROCKET ... more
Diff: GPS_interrupt.cpp
- Revision:
- 11:1897b52fa8a1
- Parent:
- 10:a006445dc76d
- Child:
- 12:935b21d30ec2
diff -r a006445dc76d -r 1897b52fa8a1 GPS_interrupt.cpp --- 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;