-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests/pkg/minmea: fixing RMC timestamp #20018
Conversation
the test should test message decoding not timezone handling (we might want to have another test for that and fix the underling issue) |
tests/pkg/minmea/main.c
Outdated
timestamp = mktime(&tm); | ||
/* timestamp is dependent on given EPOCH time */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
timestamp = mktime(&tm); | |
/* timestamp is dependent on given EPOCH time */ | |
timestamp = mktime(&tm); | |
/* minmea is providing a UTC date time (decoded from the GPS Message) | |
mktime() assumes local time, the timestamp might therefor depend on EPOCH and timezone*/ | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kwark we should just use timegm()
timestamp = mktime(&tm); | |
/* timestamp is dependent on given EPOCH time */ | |
timestamp = timegm(&tm); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
timegm might not be supported by all libc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or we fix native #20023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
timegm
is not supported by the MCUs. I just remove the timestamp generation and we are just checking the raw time values here. The only function that is not checked here is minmea_getdatetime()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
d6c18cb
to
0f27efb
Compare
bors merge |
19932: tests/periph: Add test using the Peripheral Selftest Shield r=benpicco a=maribu ### Contribution description This adds a test that makes use of the peripheral selftesting shield. #### ToDo - [x] Add doc ### Testing procedure - grab an Arduino UNO compatible board that has the Arduino pin map feature - connect it to the testing shield - configure the testing shield - make sure the VCC selector matches the logic level of the board (3.3V and 5V are the only options) - enabled all the "loops" needed for testing on SW1 - it could be that the UART on D0, D1 is used for stdio. In that case, do *NOT* close the loop - flash and run the test application ### Issues/PRs references none 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 20022: pkg/lwip: add support for slipdev r=benpicco a=benpicco 20025: tests/drivers/at: fix device table overflow r=benpicco a=krzysztof-cabaj ### Contribution description This PR fix device table overflow in `tests/driver/at`, which could lead to device crash. ### Testing procedure PR was tested on two nucleo boards with 2 and 3 UARTs (nucleo-l476rg and nucleo-l496zg). Flash `tests/driver/at` with and without this PR. Output with this PR: ``` > main(): This is RIOT! (Version: 2022.07-devel-5083-g2b9e8-tests-drivers-at) AT command test app > init 5 9600 Wrong UART device number - should by in range 0-2. > ``` Output without this PR: ``` > main(): This is RIOT! (Version: 2022.07-devel-5083-g2b9e8) AT command test app > init 5 9600 8001afd *** RIOT kernel panic: FAILED ASSERTION. *** halted. Context before hardfault: r0: 0x0000000a r1: 0x00000000 . . . ``` ### Issues/PRs references None Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net> Co-authored-by: Jan Mohr <jan.mohr@ml-pa.com> Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com> Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
Build failed (retrying...): |
19932: tests/periph: Add test using the Peripheral Selftest Shield r=benpicco a=maribu ### Contribution description This adds a test that makes use of the peripheral selftesting shield. #### ToDo - [x] Add doc ### Testing procedure - grab an Arduino UNO compatible board that has the Arduino pin map feature - connect it to the testing shield - configure the testing shield - make sure the VCC selector matches the logic level of the board (3.3V and 5V are the only options) - enabled all the "loops" needed for testing on SW1 - it could be that the UART on D0, D1 is used for stdio. In that case, do *NOT* close the loop - flash and run the test application ### Issues/PRs references none 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: Marian Buschsieweke <marian.buschsieweke@posteo.net> Co-authored-by: Jan Mohr <jan.mohr@ml-pa.com>
This PR was included in a batch that was canceled, it will be automatically retried |
Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page.
|
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
and
and
timedatectl list-timezones
provides you with a List of timzonesdo not fail