Skip to content
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

boards/nucleo-l412kb: add initial support #13660

Merged
merged 7 commits into from Mar 20, 2020

Conversation

@aabadie
Copy link
Contributor

aabadie commented Mar 19, 2020

Contribution description

This PR is a take over of #12144 which adds support for the nucleo-l412kb board.

Compared to #12144, I dropped the support for RTC because it was not working and some work is needed to make it work properly on this CPU (the RTC_Typedef struct is quite different than other L4).

I2C, SPI, PWM are untested.

Testing procedure

Run the compile_and_test_for_board script:

./dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . nucleo-l412kb --job=4 --with-test-only
ERROR:nucleo-l412kb:Tests failed: 12
Failures during test:
- [tests/driver_grove_ledbar](tests/driver_grove_ledbar/test.failed)
- [tests/driver_my9221](tests/driver_my9221/test.failed)
- [tests/emcute](tests/emcute/test.failed)
- [tests/gnrc_dhcpv6_client](tests/gnrc_dhcpv6_client/test.failed)
- [tests/gnrc_dhcpv6_client_6lbr](tests/gnrc_dhcpv6_client_6lbr/test.failed)
- [tests/gnrc_ipv6_ext](tests/gnrc_ipv6_ext/test.failed)
- [tests/gnrc_ipv6_ext_frag](tests/gnrc_ipv6_ext_frag/test.failed)
- [tests/gnrc_rpl_srh](tests/gnrc_rpl_srh/test.failed)
- [tests/gnrc_sock_dns](tests/gnrc_sock_dns/test.failed)
- [tests/gnrc_tcp](tests/gnrc_tcp/test.failed)
- [tests/periph_timer_short_relative_set](tests/periph_timer_short_relative_set/test.failed)
- [tests/pkg_libfixmath_unittests](tests/pkg_libfixmath_unittests/test.failed)
  • The GNRC usual suspects are failing because of missing tap setup and/or missing admin rights.
  • IIUC, tests/periph_timer_short_relative_set is expected to fail
  • Error output of tests/driver_grove_ledbar
WARNING:nucleo-l412kb.tests/driver_grove_ledbar:make RIOT_CI_BUILD=1 CC_NOCOLOR=1 --no-print-directory -C ./tests/driver_grove_ledbar test
r
/work/riot/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" --no-reconnect --noprefix --no-repeat-command-on-empty-line
Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
READY
s
START
main(): This is RIOT! (Version: buildtest)
[START]
Timeout in expect script at "child.expect_exact(u"[SUCCESS]", timeout=60)" (tests/driver_grove_ledbar/tests/01-run.py:15)

make: *** [/work/riot/RIOT/tests/driver_grove_ledbar/../../Makefile.include:736: test] Error 1

Return value: 2

ERROR:nucleo-l412kb.tests/driver_grove_ledbar:Error during test, writing to results/nucleo-l412kb/tests/driver_grove_ledbar/test.failed
  • Error output of tests/driver_my9221:
WARNING:nucleo-l412kb.tests/driver_my9221:make RIOT_CI_BUILD=1 CC_NOCOLOR=1 --no-print-directory -C ./tests/driver_my9221 test
r
/work/riot/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" --no-reconnect --noprefix --no-repeat-command-on-empty-line
Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
READY
s
START
main(): This is RIOT! (Version: buildtest)
[START]
Timeout in expect script at "child.expect_exact("[SUCCESS]", timeout=60)" (tests/driver_my9221/tests/01-run.py:15)

make: *** [/work/riot/RIOT/tests/driver_my9221/../../Makefile.include:736: test] Error 1

Return value: 2

ERROR:nucleo-l412kb.tests/driver_my9221:Error during test, writing to results/nucleo-l412kb/tests/driver_my9221/test.failed
  • Error output of tests/pkg_libfixmath_unittests:
WARNING:nucleo-l412kb.tests/pkg_libfixmath_unittests:make RIOT_CI_BUILD=1 CC_NOCOLOR=1 --no-print-directory -C ./tests/pkg_libfixmath_unittests test
r
/work/riot/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" --no-reconnect --noprefix --no-repeat-command-on-empty-line
Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
READY
s
START
main(): This is RIOT! (Version: buildtest)

----Testing fix16_exp() corner cases----
OK: fix16_exp(0) == fix16_one
OK: fix16_exp(fix16_minimum) == 0
OK: fix16_exp(fix16_maximum) == fix16_maximum

----Testing fix16_exp() accuracy over -11..4----
Worst delta 39 with input 251543
Average delta 1.11
OK: max_delta < 200

----Testing fix16_exp() accuracy over full range----
Worst delta 0.0025% with input 323857
Average delta 0.0003%
OK: max_delta < 1

----Testing fix16_log() accuracy over full range----
Worst delta 3 with input 417752911
Average delta 0.30
OK: max_delta < 20
OK: F16(1.234) == F16C(1,234)
OK: F16(1.234) == fix16_from_dbl(1.234)
OK: F16(0.0) == F16C(0,0)
OK: F16(0.0) == fix16_from_dbl(0.0)
OK: F16(1.0) == F16C(1,0)
OK: F16(1.0) == fix16_from_dbl(1.0)
OK: F16(-1.0) == F16C(-1,0)
OK: F16(-1.0) == fix16_from_dbl(-1.0)
OK: F16(1.5) == F16C(1,5)
OK: F16(1.5) == fix16_from_dbl(1.5)
OK: F16(-1.5) == F16C(-1,5)
OK: F16(-1.5) == fix16_from_dbl(-1.5)
OK: F16(000000.00000) == F16C(000000,00000)
OK: F16(000000.00000) == fix16_from_dbl(000000.00000)
OK: F16(0.00001) == F16C(0,00001)
OK: F16(0.00001) == fix16_from_dbl(0.00001)
OK: F16(0.00010) == F16C(0,00010)
OK: F16(0.00010) == fix16_from_dbl(0.00010)
OK: F16(0.1) == F16C(0,1)
OK: F16(0.1) == fix16_from_dbl(0.1)
OK: F16(0.10001) == F16C(0,10001)
OK: F16(0.10001) == fix16_from_dbl(0.10001)
OK: F16(0.11000) == F16C(0,11000)
OK: F16(0.11000) == fix16_from_dbl(0.11000)
OK: F16(25.133) == F16C(25,133)
OK: F16(25.133) == fix16_from_dbl(25.133)
OK: F16(32767.00000) == F16C(32767,00000)
OK: F16(32767.00000) == fix16_from_dbl(32767.00000)
OK: F16(32767.00001) == F16C(32767,00001)
OK: F16(32767.00001) == fix16_from_dbl(32767.00001)
OK: F16(32767.99999) == F16C(32767,99999)
OK: F16(32767.99999) == fix16_from_dbl(32767.99999)
OK: F16(0.25) == F16C(0,25)
OK: F16(0.25) == fix16_from_dbl(0.25)
OK: F16(0.99555) == F16C(0,99555)
OK: F16(0.99555) == fix16_from_dbl(0.99555)
OK: F16(0.99998) == F16C(0,99998)
OK: F16(0.99998) == fix16_from_dbl(0.99998)
OK: F16(0.99999) == F16C(0,99999)
OK: F16(0.99999) == fix16_from_dbl(0.99999)
OK: F16(-1.1) == F16C(-1,1)
OK: F16(-1.1) == fix16_from_dbl(-1.1)
OK: F16(-25.133) == F16C(-25,133)
OK: F16(-25.133) == fix16_from_dbl(-25.133)
OK: F16(-32767.00001) == F16C(-32767,00001)
OK: F16(-32767.00001) == fix16_from_dbl(-32767.00001)
OK: F16(-32768.00000) == F16C(-32768,00000)
OK: F16(-32768.00000) == fix16_from_dbl(-32768.00000)
OK: F16(0.02267) == F16C(0,02267)
OK: F16(0.02267) == fix16_from_dbl(0.02267)
OK: F16(1.49887) == F16C(1,49887)
OK: F16(1.49887) == fix16_from_dbl(1.49887)
OK: F16(0.27589) == F16C(0,27589)
OK: F16(0.27589) == fix16_from_dbl(0.27589)
OK: F16(0.38393) == F16C(0,38393)
OK: F16(0.38393) == fix16_from_dbl(0.38393)
OK: F16(0.08934) == F16C(0,08934)
OK: F16(0.08934) == fix16_from_dbl(0.08934)
OK: F16(0.95820) == F16C(0,95820)
OK: F16(0.95820) == fix16_from_dbl(0.95820)
OK: F16(0.95596) == F16C(0,95596)
OK: F16(0.95596) == fix16_from_dbl(0.95596)
OK: F16(72.10642) == F16C(72,10642)
OK: F16(72.10642) == fix16_from_dbl(72.10642)
OK: F16(0.48939) == F16C(0,48939)
OK: F16(0.48939) == fix16_from_dbl(0.48939)
OK: F16(3.37797) == F16C(3,37797)
OK: F16(3.37797) == fix16_from_dbl(3.37797)
OK: F16(1.09194) == F16C(1,09194)
OK: F16(1.09194) == fix16_from_dbl(1.09194)
OK: F16(0.08605) == F16C(0,08605)
OK: F16(0.08605) == fix16_from_dbl(0.08605)
OK: F16(3.04349) == F16C(3,04349)
OK: F16(3.04349) == fix16_from_dbl(3.04349)
OK: F16(3.95401) == F16C(3,95401)
OK: F16(3.95401) == fix16_from_dbl(3.95401)
OK: F16(15.36292) == F16C(15,36292)
OK: F16(15.36292) == fix16_from_dbl(15.36292)
OK: F16(56.09242) == F16C(56,09242)
OK: F16(56.09242) == fix16_from_dbl(56.09242)
OK: F16(0.54071) == F16C(0,54071)
OK: F16(0.54071) == fix16_from_dbl(0.54071)
OK: F16(27.08953) == F16C(27,08953)
OK: F16(27.08953) == fix16_from_dbl(27.08953)
OK: F16(0.03913) == F16C(0,03913)
OK: F16(0.03913) == fix16_from_dbl(0.03913)
OK: F16(1.32707) == F16C(1,32707)
OK: F16(1.32707) == fix16_from_dbl(1.32707)
OK: F16(4.50117) == F16C(4,50117)
OK: F16(4.50117) == fix16_from_dbl(4.50117)
OK: F16(0.24990) == F16C(0,24990)
OK: F16(0.24990) == fix16_from_dbl(0.24990)
OK: F16(44.77319) == F16C(44,77319)
OK: F16(44.77319) == fix16_from_dbl(44.77319)
OK: F16(2.59139) == F16C(2,59139)
OK: F16(2.59139) == fix16_from_dbl(2.59139)
OK: F16(0.16279) == F16C(0,16279)
OK: F16(0.16279) == fix16_from_dbl(0.16279)
OK: F16(17.14712) == F16C(17,14712)
OK: F16(17.14712) == fix16_from_dbl(17.14712)
OK: F16(11.54281) == F16C(11,54281)
OK: F16(11.54281) == fix16_from_dbl(11.54281)
OK: F16(0.02768) == F16C(0,02768)
OK: F16(0.02768) == fix16_from_dbl(0.02768)
OK: F16(0.39278) == F16C(0,39278)
OK: F16(0.39278) == fix16_from_dbl(0.39278)
OK: F16(0.19369) == F16C(0,19369)
OK: F16(0.19369) == fix16_from_dbl(0.19369)
OK: F16(-0.04534) == F16C(-0,04534)
OK: F16(-0.04534) == fix16_from_dbl(-0.04534)
OK: F16(-0.00349) == F16C(-0,00349)
OK: F16(-0.00349) == fix16_from_dbl(-0.00349)
OK: F16(-2.30380) == F16C(-2,30380)
OK: F16(-2.30380) == fix16_from_dbl(-2.30380)
OK: F16(-0.03061) == F16C(-0,03061)
OK: F16(-0.03061) == fix16_from_dbl(-0.03061)
OK: F16(-7.50065) == F16C(-7,50065)
OK: F16(-7.50065) == fix16_from_dbl(-7.50065)
OK: F16(-3.97050) == F16C(-3,97050)
OK: F16(-3.97050) == fix16_from_dbl(-3.97050)
OK: F16(-0.43898) == F16C(-0,43898)
OK: F16(-0.43898) == fix16_from_dbl(-0.43898)
OK: F16(-3.49876) == F16C(-3,49876)
OK: F16(-3.49876) == fix16_from_dbl(-3.49876)
OK: F16(-1.35942) == F16C(-1,35942)
OK: F16(-1.35942) == fix16_from_dbl(-1.35942)
OK: F16(-10.81154) == F16C(-10,81154)
OK: F16(-10.81154) == fix16_from_dbl(-10.81154)
OK: F16(-0.26676) == F16C(-0,26676)
OK: F16(-0.26676) == fix16_from_dbl(-0.26676)
OK: F16(-9.52134) == F16C(-9,52134)
OK: F16(-9.52134) == fix16_from_dbl(-9.52134)
OK: F16(-0.42592) == F16C(-0,42592)
OK: F16(-0.42592) == fix16_from_dbl(-0.42592)
OK: F16(-0.05424) == F16C(-0,05424)
OK: F16(-0.05424) == fix16_from_dbl(-0.05424)
OK: F16(-0.62461) == F16C(-0,62461)
OK: F16(-0.62461) == fix16_from_dbl(-0.62461)
OK: F16(-0.21562) == F16C(-0,21562)
OK: F16(-0.21562) == fix16_from_dbl(-0.21562)
OK: F16(-0.22366) == F16C(-0,22366)
OK: F16(-0.22366) == fix16_from_dbl(-0.22366)
OK: F16(-0.09074) == F16C(-0,09074)
OK: F16(-0.09074) == fix16_from_dbl(-0.09074)
OK: F16(-1.29527) == F16C(-1,29527)
OK: F16(-1.29527) == fix16_from_dbl(-1.29527)
OK: F16(-4.98427) == F16C(-4,98427)
OK: F16(-4.98427) == fix16_from_dbl(-4.98427)
OK: F16(-0.10721) == F16C(-0,10721)
OK: F16(-0.10721) == fix16_from_dbl(-0.10721)
OK: F16(-11.39446) == F16C(-11,39446)
OK: F16(-11.39446) == fix16_from_dbl(-11.39446)
OK: F16(-451.53916) == F16C(-451,53916)
OK: F16(-451.53916) == fix16_from_dbl(-451.53916)
OK: F16(-0.04279) == F16C(-0,04279)
OK: F16(-0.04279) == fix16_from_dbl(-0.04279)
OK: F16(-3.36543) == F16C(-3,36543)
OK: F16(-3.36543) == fix16_from_dbl(-3.36543)
OK: F16(-0.01003) == F16C(-0,01003)
OK: F16(-0.01003) == fix16_from_dbl(-0.01003)
OK: F16(-12.08326) == F16C(-12,08326)
OK: F16(-12.08326) == fix16_from_dbl(-12.08326)
OK: F16(-1.07143) == F16C(-1,07143)
OK: F16(-1.07143) == fix16_from_dbl(-1.07143)
OK: F16(-1.07737) == F16C(-1,07737)
OK: F16(-1.07737) == fix16_from_dbl(-1.07737)
OK: F16(-0.22957) == F16C(-0,22957)
OK: F16(-0.22957) == fix16_from_dbl(-0.22957)

----Testing fix16_to_str corner cases----
1234.5678 = 1234.5678
OK: strcmp(buf, "1234.5678") == 0
-1234.5678 = -1234.5678
OK: strcmp(buf, "-1234.5678") == 0
OK: strcmp(buf, "0") == 0
OK: strcmp(buf, "1") == 0
(fix16_t)1 = 0.00002
OK: strcmp(buf, "0.00002") == 0
(fix16_t)-1 = -0.00002
OK: strcmp(buf, "-0.00002") == 0
(fix16_t)65535 = 0.99998
OK: strcmp(buf, "0.99998") == 0
(fix16_t)65535 = 1.0000
OK: strcmp(buf, "1.0000") == 0
fix16_maximum = 32767.99998
OK: strcmp(buf, "32767.99998") == 0
fix16_minimum = -32768.00000
OK: strcmp(buf, "-32768.00000") == 0

----Testing fix16_from_str corner cases----
OK: fix16_from_str("1234.5678") == fix16_from_dbl(1234.5678)
OK: fix16_from_str("-1234.5678") == fix16_from_dbl(-1234.5678)
OK: fix16_from_str("   +1234,56780   ") == fix16_from_dbl(1234.5678)
OK: fix16_from_str("0") == 0
OK: fix16_from_str("1") == fix16_one
OK: fix16_from_str("1.0") == fix16_one
OK: fix16_from_str("1.0000000000") == fix16_one
OK: fix16_from_str("0.00002") == 1
OK: fix16_from_str("0.99998") == 65535
OK: fix16_from_str("32767.99998") == fix16_maximum
OK: fix16_from_str("-32768.00000") == fix16_minimum

----Extended testing for whole range----
OK: ok

----Testing basic multiplication----
OK: fix16_mul(fix16_from_int(5), fix16_from_int(5)) == fix16_from_int(25)
OK: fix16_mul(fix16_from_int(-5), fix16_from_int(5)) == fix16_from_int(-25)
OK: fix16_mul(fix16_from_int(-5), fix16_from_int(-5)) == fix16_from_int(25)
OK: fix16_mul(fix16_from_int(5), fix16_from_int(-5)) == fix16_from_int(-25)

----Testing multiplication rounding corner cases----
OK: fix16_mul(0, 10) == 0
OK: fix16_mul(2, 0x8000) == 1
OK: fix16_mul(-2, 0x8000) == -1
OK: fix16_mul(3, 0x8000) == 2
OK: fix16_mul(-3, 0x8000) == -2
OK: fix16_mul(2, 0x7FFF) == 1
OK: fix16_mul(-2, 0x7FFF) == -1
OK: fix16_mul(2, 0x8001) == 1
OK: fix16_mul(-2, 0x8001) == -1

----Running testcases for multiplication----
OK: failures == 0

----Testing basic division----
OK: fix16_div(fix16_from_int(15), fix16_from_int(5)) == fix16_from_int(3)
OK: fix16_div(fix16_from_int(-15), fix16_from_int(5)) == fix16_from_int(-3)
OK: fix16_div(fix16_from_int(-15), fix16_from_int(-5)) == fix16_from_int(3)
OK: fix16_div(fix16_from_int(15), fix16_from_int(-5)) == fix16_from_int(-3)

----Testing division rounding corner cases----
OK: fix16_div(0, 10) == 0
OK: fix16_div(1, fix16_from_int(2)) == 1
OK: fix16_div(-1, fix16_from_int(2)) == -1
OK: fix16_div(1, fix16_from_int(-2)) == -1
OK: fix16_div(-1, fix16_from_int(-2)) == 1
OK: fix16_div(3, fix16_from_int(2)) == 2
OK: fix16_div(-3, fix16_from_int(2)) == -2
OK: fix16_div(3, fix16_from_int(-2)) == -2
OK: fix16_div(-3, fix16_from_int(-2)) == 2
OK: fix16_div(2, 0x7FFF) == 4
OK: fix16_div(-2, 0x7FFF) == -4
OK: fix16_div(2, 0x8001) == 4
OK: fix16_div(-2, 0x8001) == -4

----Running testcases for division----

1.000000 / -32768.000000 = -0.000031
1.000000 / -32768.000000 = -0.000031

-1.000000 / -32768.000000 = 0.000031
-1.000000 / -32768.000000 = 0.000031

2.000000 / -32768.000000 = -0.000061
2.000000 / -32768.000000 = -0.000061

-2.000000 / -32768.000000 = 0.000061
-2.000000 / -32768.000000 = 0.000061

3.000000 / -32768.000000 = -0.000092
3.000000 / -32768.000000 = -0.000092

-3.000000 / -32768.000000 = 0.000092
-3.000000 / -32768.000000 = 0.000092

4.000000 / -32768.000000 = -0.000122
4.000000 / -32768.000000 = -0.000122

-4.000000 / -32768.000000 = 0.000122
-4.000000 / -32768.000000 = 0.000122

5.000000 / -32768.000000 = -0.000153
5.000000 / -32768.000000 = -0.000153

-5.000000 / -32768.000000 = 0.000153
-5.000000 / -32768.000000 = 0.000153

6.000000 / -32768.000000 = -0.000183
6.000000 / -32768.000000 = -0.000183

-6.000000 / -32768.000000 = 0.000183
-6.000000 / -32768.000000 = 0.000183

0.500000 / -32768.000000 = -0.000015
0.500000 / -32768.000000 = -0.000015

-0.500000 / -32768.000000 = 0.000015
-0.500000 / -32768.000000 = 0.000015

0.999985 / -32768.000000 = -0.000031
0.999985 / -32768.000000 = -0.000031

-0.999985 / -32768.000000 = 0.000031
-0.999985 / -32768.000000 = 0.000031

1.999985 / -32768.000000 = -0.000061
1.999985 / -32768.000000 = -0.000061

-1.999985 / -32768.000000 = 0.000061
-1.999985 / -32768.000000 = 0.000061

3.999985 / -32768.000000 = -0.000122
3.999985 / -32768.000000 = -0.000122

-3.999985 / -32768.000000 = 0.000122
-3.999985 / -32768.000000 = 0.000122

32767.999985 / -32768.000000 = -1.000000
32767.999985 / -32768.000000 = -1.000000

-32768.000000 / -32768.000000 = 1.000000
-32768.000000 / -32768.000000 = 1.000000

12693.159363 / -32768.000000 = -0.387360
12693.159363 / -32768.000000 = -0.387364

8770.674332 / -32768.000000 = -0.267654
8770.674332 / -32768.000000 = -0.267660

32764.774979 / -32768.000000 = -0.999908
32764.774979 / -32768.000000 = -0.999902

-7158.829559 / -32768.000000 = 0.218475
-7158.829559 / -32768.000000 = 0.218470

-14673.028793 / -32768.000000 = 0.447784
-14673.028793 / -32768.000000 = 0.447785

28106.082672 / -32768.000000 = -0.857727
28106.082672 / -32768.000000 = -0.857730

30406.164383 / -32768.000000 = -0.927917
30406.164383 / -32768.000000 = -0.927922

7941.976990 / -32768.000000 = -0.242371
7941.976990 / -32768.000000 = -0.242370

8552.903992 / -32768.000000 = -0.261017
8552.903992 / -32768.000000 = -0.261014

-31967.057037 / -32768.000000 = 0.975555
-31967.057037 / -32768.000000 = 0.975557

-13380.394638 / -32768.000000 = 0.408340
-13380.394638 / -32768.000000 = 0.408337

-1034.753860 / -32768.000000 = 0.031586
-1034.753860 / -32768.000000 = 0.031578

32748.826462 / -32768.000000 = -0.999420
32748.826462 / -32768.000000 = -0.999415

7779.875778 / -32768.000000 = -0.237427
7779.875778 / -32768.000000 = -0.237423

-16381.433975 / -32768.000000 = 0.499924
-16381.433975 / -32768.000000 = 0.499922

0.465698 / -32768.000000 = -0.000015
0.465698 / -32768.000000 = -0.000014

-1.275436 / -32768.000000 = 0.000046
-1.275436 / -32768.000000 = 0.000039

0.627579 / -32768.000000 = -0.000015
0.627579 / -32768.000000 = -0.000019

0.642960 / -32768.000000 = -0.000015
0.642960 / -32768.000000 = -0.000020

0.893204 / -32768.000000 = -0.000031
0.893204 / -32768.000000 = -0.000027

1.283905 / -32768.000000 = -0.000046
1.283905 / -32768.000000 = -0.000039

-0.431564 / -32768.000000 = 0.000015
-0.431564 / -32768.000000 = 0.000013

1.387238 / -32768.000000 = -0.000046
1.387238 / -32768.000000 = -0.000042

0.303116 / -32768.000000 = -0.000015
0.303116 / -32768.000000 = -0.000009

0.506454 / -32768.000000 = -0.000015
0.506454 / -32768.000000 = -0.000015

1.248840 / -32768.000000 = -0.000031
1.248840 / -32768.000000 = -0.000038

-1.011246 / -32768.000000 = 0.000031
-1.011246 / -32768.000000 = 0.000031

-0.964584 / -32768.000000 = 0.000031
-0.964584 / -32768.000000 = 0.000029

-0.678391 / -32768.000000 = 0.000015
-0.678391 / -32768.000000 = 0.000021

1.286240 / -32768.000000 = -0.000046
1.286240 / -32768.000000 = -0.000039

0.725021 / -32768.000000 = -0.000015
0.725021 / -32768.000000 = -0.000022

-0.600037 / -32768.000000 = 0.000015
-0.600037 / -32768.000000 = 0.000018
FAILED: fix16_unittests.c:194 failures == 0

----Running testcases for addition----
OK: failures == 0

----Running testcases for subtraction----
OK: failures == 0

----Testing basic square roots----
OK: fix16_sqrt(fix16_from_int(16)) == fix16_from_int(4)
OK: fix16_sqrt(fix16_from_int(100)) == fix16_from_int(10)
OK: fix16_sqrt(fix16_from_int(1)) == fix16_from_int(1)

----Testing square root rounding corner cases----
OK: fix16_sqrt(214748302) == 3751499
OK: fix16_sqrt(214748303) == 3751499
OK: fix16_sqrt(214748359) == 3751499
OK: fix16_sqrt(214748360) == 3751500

----Running test cases for square root----
OK: failures == 0


Some tests FAILED!
Timeout in expect script at "child.expect('SUCCESS', timeout=TIMEOUT)" (tests/pkg_libfixmath_unittests/tests/01-run.py:18)

make: *** [/work/riot/RIOT/tests/pkg_libfixmath_unittests/../../Makefile.include:736: test] Error 1

Return value: 2

ERROR:nucleo-l412kb.tests/pkg_libfixmath_unittests:Error during test, writing to results/nucleo-l412kb/tests/pkg_libfixmath_unittests/test.failed

Issues/PRs references

Take over from #12144

@benpicco

This comment has been minimized.

Copy link
Contributor

benpicco commented Mar 19, 2020

A few more Makefile.cis need to be updated.

Copy link
Contributor

fjmolinas left a comment

Code is good and I trust @aabadie testing. Just needs a little more blacklisting and we are good. ACK!

mrusme and others added 7 commits Sep 3, 2019
@aabadie aabadie force-pushed the aabadie:review_nucleo_l412kb branch from 00d6774 to ebca569 Mar 20, 2020
@benpicco benpicco merged commit 2a35216 into RIOT-OS:master Mar 20, 2020
2 checks passed
2 checks passed
Murdock The build succeeded. runtime: 25m:46s
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@aabadie aabadie deleted the aabadie:review_nucleo_l412kb branch Mar 21, 2020
@leandrolanzieri leandrolanzieri added this to the Release 2020.04 milestone Mar 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.