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

Rev 2: Platform abstraction, CRPA LED heartbeat & MSPI support #23

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

Conversation

jynik
Copy link
Contributor

@jynik jynik commented Jul 10, 2016

This is rev 2 of this patch set. MSPI fixes have been squashed into the commit introducing MSPI support.

The proposed changes include the following:

  • Aesthetics and comment typo fix
    • Non-functional whitespace removal performed to minimize deltas in functional changesets
  • A simple platform abstraction introduced to decouple I/O and peripheral differences between platforms and builds.
    • This has been introduced to allow for CRPA builds that target either "normal" use (with an added heartbeat LED) or the SPI master mode -- both cannot be used simultaneously due to pin multiplexing constraints.
    • make CRPA=y or make CRPA_MSPI=y is now required to target the Crazyradio PA (and use the RXEN for the LNA.
    • make builds a "generic" firmware that leaves P0 as inputs.
  • SPI Master support for modified CRPA platforms
    • Utilities to dump and program nRF24LU1+ devices coming in future PRs

jynik added 4 commits July 2, 2016 00:56
…support

A simple platform abstraction interface has been introduced in platform.h.
This is intended to decouple the details of platform-specific IO assignments
(e.g. LED pins, LNA enable, SPI chip select) from other portions of the
code.

Three platforms variants are available:

  - CrazyRadio PA via `make CRPA=y`. Provides LED heartbeat and debug LED.

  - CrazyRadio PA modified for Master SPI support via `make CRPA_MSPI=y`

  - Generic platform with no external IO and P0DIR set to all inputs.
    Built when a `make` invocation does not specify one of the above.

IMPORTANT: Do not run the CRPA_MSPI firmware on an unmodified platform!
           This firmware requires that U2 is depopulated and that the
           pads for U2 pins 2 and 4 are jumpered together. This allows
           CSN to be used as an output connected to P2, pin 10.
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