diff --git a/Mirf/Mirf.cpp b/Mirf/Mirf.cpp index 917a3dd..a8fbe26 100755 --- a/Mirf/Mirf.cpp +++ b/Mirf/Mirf.cpp @@ -2,6 +2,8 @@ * Mirf * * Additional bug fixes and improvements + * 11/03/2011: + * Switched spi library. * 07/13/2010: * Added example to read a register * 11/12/2009: @@ -87,6 +89,7 @@ void Nrf24l::init() csnHi(); // Initialize spi module + Serial.println("Calling begin"); spi->begin(); } diff --git a/Mirf/MirfHardwareSpiDriver.cpp b/Mirf/MirfHardwareSpiDriver.cpp index 6efafa6..7ca101c 100644 --- a/Mirf/MirfHardwareSpiDriver.cpp +++ b/Mirf/MirfHardwareSpiDriver.cpp @@ -1,15 +1,11 @@ #include "MirfHardwareSpiDriver.h" -#include - uint8_t MirfHardwareSpiDriver::transfer(uint8_t data){ return SPI.transfer(data); } void MirfHardwareSpiDriver::begin(){ - Serial.println("Begining SPI"); SPI.begin(); - SPI.setBitOrder(SPI_MODE1); - SPI.setClockDivider(SPI_CLOCK_DIV2); + SPI.setDataMode(SPI_MODE0); SPI.setClockDivider(SPI_2XCLOCK_MASK); } diff --git a/Mirf/MirfSpiDriver.h b/Mirf/MirfSpiDriver.h index 10a93d1..53eec76 100644 --- a/Mirf/MirfSpiDriver.h +++ b/Mirf/MirfSpiDriver.h @@ -8,10 +8,10 @@ extern "C" { class MirfSpiDriver { public: - uint8_t transfer(uint8_t data); + virtual uint8_t transfer(uint8_t data); - void begin(); - void end(); + virtual void begin(); + virtual void end(); }; #endif diff --git a/Mirf/examples/ping_client/ping_client.pde b/Mirf/examples/ping_client/ping_client.pde index 866ee20..221489e 100755 --- a/Mirf/examples/ping_client/ping_client.pde +++ b/Mirf/examples/ping_client/ping_client.pde @@ -16,9 +16,10 @@ * 'ping_server_interupt' on the server. */ -#include +#include #include #include +#include void setup(){ Serial.begin(9600); @@ -35,6 +36,7 @@ void setup(){ Mirf.cePin = 7; Mirf.csnPin = 8; */ + Mirf.spi = &MirfHardwareSpi; Mirf.init(); /* diff --git a/Mirf/examples/ping_server/ping_server.pde b/Mirf/examples/ping_server/ping_server.pde index 86d79ae..1138721 100755 --- a/Mirf/examples/ping_server/ping_server.pde +++ b/Mirf/examples/ping_server/ping_server.pde @@ -13,13 +13,20 @@ * */ -#include +#include #include #include +#include void setup(){ Serial.begin(9600); + /* + * Set the SPI Driver. + */ + + Mirf.spi = &MirfHardwareSpi; + /* * Setup pins / SPI. */ diff --git a/Mirf/examples/ping_server_interupt/ping_server_interupt.pde b/Mirf/examples/ping_server_interupt/ping_server_interupt.pde index af2f46c..f75c7a4 100755 --- a/Mirf/examples/ping_server_interupt/ping_server_interupt.pde +++ b/Mirf/examples/ping_server_interupt/ping_server_interupt.pde @@ -16,9 +16,10 @@ * CSN -> 7 */ -#include +#include #include #include +#include #include void wakeupFunction(){ @@ -32,6 +33,12 @@ void toSleep(){ void setup(){ Serial.begin(9600); + + /* + * Set the SPI Driver. + */ + + Mirf.spi = &MirfHardwareSpi; /* * Setup pins / SPI. diff --git a/Mirf/examples/reg_read/reg_read.pde b/Mirf/examples/reg_read/reg_read.pde index f807c24..5129565 100644 --- a/Mirf/examples/reg_read/reg_read.pde +++ b/Mirf/examples/reg_read/reg_read.pde @@ -10,15 +10,17 @@ * CSN -> 7 */ -#include -#include +#include +#include #include +#include void setup() { Serial.begin(9600); Serial.println( "Starting wireless..." ); // Setup + Mirf.spi = &MirfHardwareSpi; Mirf.init(); Mirf.setRADDR((byte *)"clie1"); Mirf.payload = sizeof(unsigned long); diff --git a/README b/README index ba8136a..e55b869 100644 --- a/README +++ b/README @@ -2,10 +2,6 @@ An Arduino port of the tinkerer.eu library. It works with the Sparkfun nRF24L01+ http://www.arduino.cc/playground/InterfacingWithHardware/Nrf24L01 -Currently depends on: - -http://www.arduino.cc/playground/Code/Spi - Zip file to be extracted in the Arduino libraries folder: http://github.com/aaronds/arduino-nrf24l01/downloads