8000 boards/ACD52832: add new NRF52 based development board by PeterKietzmann · Pull Request #8035 · RIOT-OS/RIOT · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

boards/ACD52832: add new NRF52 based development board #8035

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

Merged
merged 1 commit into from
Dec 20, 2017

Conversation

PeterKietzmann
Copy link
Member

This PR takes over #7501. It adds a new development board by 'aconno' which is based on a NRF52X MCU and has a bunch of nice features on top (unfortunately not all supported yet). Further information can be found here.

Until know I used an external USB/UART converter for testing but we should consider the Segger RTT Client tool as default behind the make command in future.

@PeterKietzmann PeterKietzmann added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Nov 14, 2017
@PeterKietzmann PeterKietzmann added Area: boards Area: Board ports Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Nov 14, 2017
Copy link
Member
@smlng smlng 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 to me, untested ACK!

@PeterKietzmann
Copy link
Member Author

You can test (if you want). I can give you the such a board tomorrow. Otherwise I've tested UART, LED, GPIO, SAUL and gave it a quick shot to communicate over NRFMIN with a nrf52dk board.

Copy link
Contributor
@kaspar030 kaspar030 left a comment

Choose a reason for hiding this comment

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

Some duplication must go...

@@ -0,0 +1,18 @@
# Put defined MCU peripherals here (in alphabetical order)
FEATURES_PROVIDED += periph_cpuid
Copy link
Contributor

Choose a reason for hiding this comment

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

drop cpuid, flashpage, hwrng as they're provided by the cpu

FEATURES_PROVIDED += periph_uart

# Various other features (if any)
FEATURES_PROVIDED += cpp
Copy link
Contributor

Choose a reason for hiding this comment

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

drop cpp too

@@ -0,0 +1,13 @@
ifneq (,$(filter saul_default,$(USEMODULE)))
Copy link
Contributor

Choose a reason for hiding this comment

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

This file seems to be a copy of the one in boards/nrf52dk. Please deduplicate.

Copy link
Member Author

Choose a reason for hiding this comment

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

I assume it is. What kind of deduplication do you have in mind, something like a board_common folder?

Copy link
Contributor

Choose a reason for hiding this comment

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

What kind of deduplication do you have in mind, something like a board_common folder?

Yes.
In this case, I'd suggest a folder called "nrf5x-common". The non-common nrf5x Makefile.dep would contain a line that just include the common one.

Copy link
Member Author

Choose a reason for hiding this comment

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

Technically I understand your proposal to avoid duplication. On the other hand this is board specific and the board here is not an NRF Nordic board but the aconno. I fear this might get un-intuitive. For example: I find it quite un-intuitive that the waspmote-pro depends on arduino-atmega-common. Did I change your mind :-)? If not, I still think we should introduce a common folder in a separate PR, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

So you think we should wait for something like #8044 right?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes... Maybe #8102!

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure but before I start reviewing #8102 I'd like to see #8058 merged

@@ -0,0 +1,21 @@
# define the cpu used by the acd52832
Copy link
Contributor

Choose a reason for hiding this comment

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

Also a copy of nrf52dk?

Copy link
Contributor

Choose a reason for hiding this comment

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

Only the CPU_MODEL differs from common/nrf52xxxdk/Makefile.include?

@kaspar030 kaspar030 changed the title boards/ACD52832: add new NRF52 based developement board boards/ACD52832: add new NRF52 based development board Nov 18, 2017
@PeterKietzmann PeterKietzmann force-pushed the pr_dnahm_aconno branch 3 times, most recently from 92205b1 to 600af68 Compare December 1, 2017 08:30
@PeterKietzmann PeterKietzmann added the State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet label Dec 1, 2017
@PeterKietzmann
Copy link
Member Author

@haukepetersen I've tried to re-use as as muchcode as possible from common/nrf52BLABLA. Unfortunately, I can not overwrite the board_init() function that easy, but IMO it makes sense to have a separate one here, as the aconno has several of on-board sensors/actuators. What's your opinion on that?

@kaspar030
Copy link
Contributor

What's your opinion on that?

Don't initialize the sensors at board level. This has to be solved higher up.
If the sensors have saul drivers, add them as dependency of saul_default in the board's Makefile.dep.

@PeterKietzmann
Copy link
Member Author

Fine. The next question is how/if to generalize the common nrf52BLBLA board_init function. It currently initializes all four LEDs which is valid for addressed boards. We could -of course- adapt/dispatch somehow so the aconno is also covered, but I'm not sure whether this is a clean approach (because the aconno is actually a different board). What do you think @kaspar030?

Copy link
Contributor
@kYc0o kYc0o left a comment

Choose a reason for hiding this comment

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

Just some small changes that can improve the support for this board, I'd like to hear more about the motivations to include it as a nrf52 board.

@@ -0,0 +1,4 @@
MODULE = board
DIRS = $(RIOTBOARD)/common/nrf52xxxdk
Copy link
Contributor

Choose a reason for hiding this comment

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

It's not better +=? (in case of this actually belongs to nrf52 common boards)

Copy link
Member Author

Choose a reason for hiding this comment

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

In the current state it doesn't matter but you might be right in general. I just copied from the other nrf52-based boards. Can we take it as for the others now and open another PR in case you want to see this addressed?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, let's see how the support for this, IMHO, very complete CPU, evolves.