hardware/gps
リビジョン | 3389b376d34139ce9e46c39483ccd55d88c34a28 (tree) |
---|---|
日時 | 2020-05-18 08:31:26 |
作者 | Alexey Cherepanov <alxchr@gmai...> |
コミッター | Chih-Wei Huang |
Fix two bugs
1. inversed timezone correction.
2. nmea string for nmea_cb should be 0-terminated.
@@ -308,7 +308,7 @@ nmea_reader_update_time( NmeaReader* r, Token tok ) | ||
308 | 308 | tm.tm_mday = r->utc_day; |
309 | 309 | tm.tm_isdst = -1; |
310 | 310 | |
311 | - fix_time = mktime( &tm ) + r->utc_diff; | |
311 | + fix_time = mktime( &tm ) - r->utc_diff; //alxchr | |
312 | 312 | r->fix.timestamp = (long long)fix_time * 1000; |
313 | 313 | return 0; |
314 | 314 | } |
@@ -493,6 +493,8 @@ nmea_reader_parse( NmeaReader* r ) | ||
493 | 493 | return; |
494 | 494 | } |
495 | 495 | |
496 | + r->in[r->pos] = 0; // alxchr | |
497 | + | |
496 | 498 | gettimeofday(&tv, NULL); |
497 | 499 | if (_gps_state->init) |
498 | 500 | _gps_state->callbacks->nmea_cb(tv.tv_sec*1000+tv.tv_usec/1000, r->in, r->pos); |