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

16-bit DMA #20

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

16-bit DMA #20

wants to merge 4 commits into from

Conversation

ewust
Copy link

@ewust ewust commented Jul 24, 2017

This change moves to using GPIO port C (instead of GPIO port D) and drives up to 16 strands simultaneously (instead of 8). However, GPIOC on most Teensy's only exports 12 of those pins. One could support up to 15 on GPIOD with a Teensy 3.6. I've left it on GPIOC for now as those pins are slightly easier to solder to (through hole vs pad).

I don't suspect this branch is merge-able in its current state (none of the applications have been updated), but given that I've done this for a project that needed to drive 10 strands simultaneously using one Teensy, perhaps others might find it similarly useful to squeeze an extra 4-7 channels out of each Teensy.

For initializing displayMemory in an application/example, use DMAMEM uint16_t displayMemory[STRAND_LEN*24];

ewust added 4 commits July 21, 2017 00:02
Using GPIOC 0-11, we move to a 16-bit wide (4 bits currently
unused) frame buffer. This allows you to write 12 LED strands
simultaneously (instead of only 8).

On Teensy's where you have 16 contiguous GPIO ports on a single
port (e.g. Port C), you could drive all 16 like this.
@xudonax xudonax mentioned this pull request Jan 31, 2019
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

Successfully merging this pull request may close these issues.

1 participant