Skip to content

Commit

Permalink
Merge #20018
Browse files Browse the repository at this point in the history
20018: tests/pkg/minmea: fixing RMC timestamp r=benpicco a=jan-mo

The RMC timestamp calculation was creating issues. The timestamp will be related to the EPOCH and time zone. Test on native will fail if the time zone is not set correctly. (see #20005)

# how to test

```
TZ=GMT-1 make test
```
 and 
```
TZ=GMT make test
```
and 
```
TZ=<any> make test
```

`timedatectl  list-timezones` provides you with a List of timzones 

do not fail 

Co-authored-by: Jan Mohr <[email protected]>
  • Loading branch information
bors[bot] and jan-mo authored Oct 27, 2023
2 parents 7da2817 + 0f27efb commit 47f0446
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
11 changes: 4 additions & 7 deletions tests/pkg/minmea/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,20 +106,17 @@ int _parse_nmea_msg(const char* nmea_msg)
if (minmea_parse_rmc(&frame, nmea_msg) && frame.valid) {
puts("check_nmea: RMC recorded");

/* parse timestamp */
struct tm tm;
time_t timestamp;
minmea_getdatetime(&tm, &frame.date, &frame.time);
timestamp = mktime(&tm);

/* print values */
print_str("\tlat: ");
print_float(minmea_tocoord(&frame.latitude), 6);
printf("\n");
print_str("\tlon: ");
print_float(minmea_tocoord(&frame.longitude), 6);
printf("\n");
printf("\ttime: %"PRIu32"\n", (uint32_t)timestamp);
/* NMEA RMC is providing UTC time */
printf("\tdate: %d.%d.%d\n", frame.date.day, frame.date.month, frame.date.year);
printf("\ttime: %dh %dm %ds, %dms\n", frame.time.hours, frame.time.minutes,
frame.time.seconds, frame.time.microseconds/1000);
}
else {
puts("check_nmea: invalid RMC record");
Expand Down
3 changes: 2 additions & 1 deletion tests/pkg/minmea/tests/01-run.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ def testfunc(child):
child.expect_exact('check_nmea: RMC recorded\r\n')
child.expect_exact('\tlat: 52.450366\r\n')
child.expect_exact('\tlon: 13.298649\r\n')
child.expect_exact('\ttime: 1697808102\r\n')
child.expect_exact('\tdate: 20.10.23\r\n')
child.expect_exact('\ttime: 14h 21m 42s, 227ms\r\n')
child.expect_exact('SUCCESS\r\n')


Expand Down

0 comments on commit 47f0446

Please sign in to comment.