Coder Social home page Coder Social logo

nrf24_component's Introduction

nRF24 Component for PSoC4, PSoC5LP and PSoC6

The nRF24 component was initially developed as a personal project, so it can be improved, pull request are always welcome!.

The nRF24 radios communicate via SPI with their external controller, so it needs MISO, MOSI, SCLK and SS signals (for SPI communication), a digital output pin to control the CE pin and (the optional use of) a digital input pin for the IRQ pin to communicate interrupts to the controller.

This component use the SS (also known as CS or Chip Select) controlled via software to avoid problems with hardware-controlled SS pins, one problem solved with this is that now your SPI Master component can have any TX and RX FIFO depths.

The SPI Master component, SS, CE and IRQ (IRQ is optional) pins must be provided by the user on the project schematic. See the image below for an example.

nRF24_sch_example

Example projects

See nRF24 Example Projects for basic example projects using this component!.

How to use this component on your PSoC project?

You can directly clone this repo inside your project directory and update it as you want. After that you have to include it into your project dependencies.

If you want you can also include this repo as a git submodule.

Current version: 1.7

The current component symbol is shown below:

Component

The customizer or configuration window is where the PSoC Creator magic "happens", the custom customizers are ugly so i'm also trying to write a customizer in C# and add it to the component (Work in Progress), this is not really well documented and i'm pretty bad at desining GUI's so if you know C# and UI you can help me out.

The component configuration is separated in two tabs:

  • nRF Configuration

In this tab all the configurable nRF24 registers are layed out, at the right of the window is a small description on each register field, it's better if you have a copy of the nRF24 datasheet at hand.

nRF_Configuration

  • SPI Interface (TODO: Find a more appropiate name, may be HW Interface?)

nRF_SPI

TODO for version 1.7 [WiP]

  • Component datasheet.
  • PSoC6 support (WiP, having problems with the PDL library).

TODO for version 2.0

  • API compatible with the nRF24 component of Erich Styger (mcuoneclipse)
  • Design the customizer using Visual Studio.

Coding style

The code style in the v2.0 will be similar to the Linux kernel coding style, for this the tool clang-format is used, the repo contains the .clang-format file.

nrf24_component's People

Contributors

c47d avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.