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: add mcb2388 #12669

Merged
merged 1 commit into from
Jan 14, 2020
Merged

boards: add mcb2388 #12669

merged 1 commit into from
Jan 14, 2020

Conversation

benpicco
Copy link
Contributor

@benpicco benpicco commented Nov 7, 2019

Contribution description

The MCB2388 Evaluation Board is a development board for the LPC2388 MCU.

LPC2388 and LPC2387 are very similar, the only difference is that LPC2388 can also operate in USB host mode.

Since this is not used yet, I chose to just pretend it's an lpc2387.

So far, only the two UARTs, LEDs and LCD display are configured.

Testing procedure

I tried examples/default to blink the LEDs with SAUL.
tests/driver_hd44780 also displays text on the LCD.

Issues/PRs references

Was used for past and future cpu/lpc2387 PRs.

@benpicco benpicco added Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Area: boards Area: Board ports labels Nov 7, 2019
@benpicco benpicco force-pushed the mcb2388 branch 2 times, most recently from 1081b3d to a0053f8 Compare November 7, 2019 22:37
Copy link
Contributor

@aabadie aabadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general but I have no hardware for testing. I just did a quick code review and found some things to change.

Copy link
Member

@maribu maribu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@leandrolanzieri, @aabadie: I think code-wise this is fine. Please speak up if you find something that I have overlooked.

@benpicco: I should be able to test this with an MSB-A2, provided I override the programmer configuration, right?

@benpicco
Copy link
Contributor Author

I should be able to test this with an MSB-A2, provided I override the programmer configuration, right?

I'm not sure how useful that would be. Last time I checked the MSB-A2 didn't have an LCD display or 8 debug LEDs.

So you'd just be testing common code.

@maribu
Copy link
Member

maribu commented Nov 16, 2019

I'm not sure how useful that would be. Last time I checked the MSB-A2 didn't have an LCD display or 8 debug LEDs.

I would attach a logic analyzers to the pins of the MCU. But this helps little to verify that the configuration indeed matches the pins the LEDs & LCD are actually connected to...

@benpicco
Copy link
Contributor Author

benpicco commented Nov 24, 2019

I ran all the tests, the only failures were:

Failures during compilation:
- [tests/lwip_sock_ip](tests/lwip_sock_ip/compilation.failed)
- [tests/lwip_sock_tcp](tests/lwip_sock_tcp/compilation.failed)
- [tests/lwip_sock_udp](tests/lwip_sock_udp/compilation.failed)

savannah.nongnu.org is currently down. Since this is all using 'virtual' network interfaces, I expect no board-specific surprises here anyway.

Failures during test:

Will look into theses!

@benpicco
Copy link
Contributor Author

benpicco commented Dec 25, 2019

Ran the tests again with the latest master.
Still some float errors (but those are unrelated to the board)

Failures during test:

Terminal program miniterm.py is required but not found in PATH. Aborting.

huh?

Those tests use the UART TX pin as GPIO for the driver - that won't work.

This test requires root privileges.
It's constructing and sending Ethernet frames.

2019-12-25 17:40:34,087 - INFO # interval 2 ok
2019-12-25 17:40:34,088 - INFO # ERROR: too long delay, aborted after 1001 (TEST_MAX_DIFF=1000)

fixed by #13003
(samr21-xpro fails after interval 8)

…
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----
Value (fix16_t)-2147483648 gave -32768.00000, should be 0.00000
Value (fix16_t)-2147418111 gave -32766.99998, should be -98711338753
Value (fix16_t)-2147352574 gave -32765.99997, should be -15950035448
Value (fix16_t)-2147287037 gave -32764.99995, should be -41536550314
…
qDSA_tests.test_qDSA_sign_verify (tests/pkg_qdsa/main.c 58) exp 0 was 1

Uses socat which doesn't toggle the RTS lines.
Works when removing the 'RST' jumper to disable reset on UART.

pkt_tests.sfprintf_float (tests/unittests/tests-printf_float/tests-printf_float.c 40) exp "2016.034900" was "-0.000000"

I'll squash the ADC commits should #12911 get merged before this, otherwise I'll remove them and add them in the other PR.

@benpicco benpicco requested a review from aabadie January 13, 2020 22:58
Copy link
Contributor

@aabadie aabadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good.

@benpicco, do you have any idea on how to fix the remaining failing tests (tests/pkg_qdsa, tests/pkg_libfixmath-unittests, tests/unittests). It seems to me that float support doesn't work well on this platform.

Copy link
Contributor

@aabadie aabadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code changes are good so I won't block this anymore.

@benpicco, would you mind opening an issue to list the remaining failing tests on this board so we can keep track of them.

ACK, please squash (and remove the ADC related commits)

The MCB2388 Evaluation Board is a development board for the LPC2388 MCU.

LPC2388 and LPC2387 are very simmilar, the only difference is added USB Host
support.
Since this is not used yet, I chose to just pretend it's an lpc2387.

So far, only the two UARTs, LEDs and LCD display are configured.
@benpicco benpicco merged commit 2ff710c into RIOT-OS:master Jan 14, 2020
@benpicco benpicco deleted the mcb2388 branch January 14, 2020 21:46
@benpicco
Copy link
Contributor Author

Thank you for the review!

@fjmolinas fjmolinas added this to the Release 2020.01 milestone Jan 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ARM Platform: This PR/issue effects ARM-based platforms Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants