/arduino-nrf24l01

An Arduino & attiny port of the http://www.tinkerer.eu/AVRLib/nRF24L01 library.

Primary LanguageC++

An Arduino port of the tinkerer.eu library. It works with most nRF24L01+ modules.

http://www.arduino.cc/playground/InterfacingWithHardware/Nrf24L01

For the attiny, pls use the tiny cores below as they are many other tiny cores with 
different mappings to Arduino Digital pins. 
https://code.google.com/p/arduino-tiny/

For this fork, I include :-
* SPI85 libs for attinyXX support
* attiny84 examples codes working with RF24
* Rename SPI pin names to USI_DI / USI_DO
* To set radio MAX power, use this code below :-
  Mirf.configRegister( RF_SETUP, ( 1<<2 | 1<<1 ) );
* If the RF24 receiver have dynamic payload enable, use this code :-
  Mirf.configRegister( FEATURE, 1<<EN_DPL ); 
  Mirf.configRegister( DYNPD, 1<<DPL_P0 | 1<<DPL_P1 | 1<<DPL_P2 | 1<<DPL_P3 | 1<<DPL_P4 | 1<<DPL_P5 ); 
* If attiny used as a receiver from RF24 libs/devices, the RF24 libs config, pls disable Dynamic Payload as
  the Mirf does not "yet" support reading the dynamic payload size. Use static payload instead.
* Blog entry on getting nRF24L01 working with attiny84 :-

http://arduino-for-beginners.blogspot.com/2013/08/getting-nrf24l01-to-work-with-attiny84.html


From xdarklight/arduino-nrf24l01 forks :-
This fork includes the following changes:
* Added support for the SPI85 library on ATtiny85 chips.
* Compatible with ATmega and ATtiny chips (tested with ATtiny85).
* Can connect to devices using the RF24 library by setting
  "Mirf.baseConfig = _BV(EN_CRC) | _BV(CRCO);" before calling
  "Mirf.config();".
* Reduced binary size.

Other information:
* This library supports changing less popular registers without
  having to "hack" the libraries code. An example for changing
  the RF_SETUP register:
  "Mirf.configRegister(RF_SETUP, _BV(RF_DR_LOW));"



Stanley
stanleyseow@gmail.com