@@ -52,6 +52,12 @@ int GPSClass::begin(int mode)
52
52
delay (100 ); // delay for GPS to wakeup
53
53
54
54
if (_mode == GPS_MODE_UART) {
55
+ if (!_serial->begin (_baudrate)) {
56
+ end ();
57
+
58
+ return 0 ;
59
+ }
60
+
55
61
_serial->begin (_baudrate);
56
62
_stream = _serial;
57
63
} else {
@@ -158,7 +164,7 @@ void GPSClass::standby()
158
164
// flags:
159
165
// extintSel = EXTINT0
160
166
// extintWake = enabled, keep receiver awake as long as selected EXTINT pin is 'high'
161
- // extintBackup = enabled, force receiver into BACKUP mode when selected EXTINT pin is 'low'
167
+ // extintBackup = enabled, force receiver into BACKUP mode when selected EXTINT pin is 'low'
162
168
payload[4 ] = 0x60 ;
163
169
164
170
sendUbx (0x06 , 0x3b , payload, sizeof (payload));
@@ -222,7 +228,7 @@ void GPSClass::parseBuffer()
222
228
switch (sentenceId) {
223
229
case MINMEA_SENTENCE_RMC: {
224
230
struct minmea_sentence_rmc frame;
225
-
231
+
226
232
if (minmea_parse_rmc (&frame, _buffer) && frame.valid ) {
227
233
_latitude = minmea_tofloat (&frame.latitude );
228
234
_longitude = minmea_tofloat (&frame.longitude );
@@ -240,7 +246,7 @@ void GPSClass::parseBuffer()
240
246
241
247
case MINMEA_SENTENCE_GGA: {
242
248
struct minmea_sentence_gga frame;
243
-
249
+
244
250
if (minmea_parse_gga (&frame, _buffer) && frame.fix_quality != 0 ) {
245
251
_latitude = minmea_tofloat (&frame.latitude );
246
252
_longitude = minmea_tofloat (&frame.longitude );
0 commit comments