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

Mapping of ARM peripherals to micro:bit DAL code - specifically GPIOTE/PWM #47

Open
DavidWhaleMEF opened this issue Apr 16, 2017 · 1 comment

Comments

@DavidWhaleMEF
Copy link

microbit.org-ticket: 1556
see-also: microbit-foundation/dev-docs#40

In particular, are there any docs anywhere stating which of the various GPIOTE channels are allocated for each of the 3 timer units on the nRF51?

We get a range of queries from users wishing to build quad-copters with the micro:bit, and 3PWM channels just isn't enough. The nRF51 datasheet indicates there are plenty of timer channels, but without good documentation on how each of the channels are currently allocated both in the DAL and in the mbed abstraction layer, it's hard to see whether it would be worth going down to the C++ level or not and coding one's own solution (if all the timer channels are allocated for other features such as system timer etc, it would mean they are used for good purposes).

Do you have, or would it be possible to create a breakdown diagram showing where each of the peripherals on the ARM core are allocated to within the micro:bit system software stack? We could surface this on tech.microbit.org

@finneyj
Copy link
Contributor

finneyj commented Apr 18, 2017

@DavidWhaleMEF

This is a good suggestion. There are no definitive docs on this at present, and we should start a page about this.

coming to your specific point, you're right that the nrf51 has a good few timers, but a good few a chomped out by the Bluetooth stack (SoftDevice), plus another for a system timer, really leaving only one for PWM use. It would be possible (for example) to bring up more channels when Bluetooth is not in use, which would be a useful feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants