Maniacbug's nRF24L01+ arduino library ported to mbed. Functional with minor issues.
Revision 4:491267614a10, committed 2013-05-23
- Comitter:
- Christilut
- Date:
- Thu May 23 13:44:14 2013 +0000
- Parent:
- 3:b13cafed7ee5
- Child:
- 5:7463cf21b7fb
- Child:
- 6:56b693b59e16
- Commit message:
- -
Changed in this revision
| nRF24L01P_Maniacbug.cpp | Show annotated file Show diff for this revision Revisions of this file |
| nRF24L01P_Maniacbug.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/nRF24L01P_Maniacbug.cpp Thu Apr 25 14:45:45 2013 +0000
+++ b/nRF24L01P_Maniacbug.cpp Thu May 23 13:44:14 2013 +0000
@@ -393,6 +393,9 @@
// Flush buffers
flush_rx();
flush_tx();
+
+ // set EN_RXADDRR to 0 to fix pipe 0 from receiving
+ write_register(EN_RXADDR, 0);
}
/****************************************************************************/
@@ -500,10 +503,10 @@
// Yay, we are done.
// Power down
- powerDown();
+// powerDown();
// Flush buffers (Is this a relic of past experimentation, and not needed anymore?
- flush_tx();
+// flush_tx();
return result;
}
@@ -514,7 +517,7 @@
// Transmitter power-up
write_register(CONFIG, ( read_register(CONFIG) | _BV(PWR_UP) ) & ~_BV(PRIM_RX) );
// wait_msMicroseconds(150);
- wait_us(150);
+ wait_us(130);
// Send the payload
write_payload( buf, len );
@@ -522,7 +525,7 @@
// Allons!
ce(HIGH);
// wait_msMicroseconds(15);
- wait_us(15);
+ wait_us(15);
ce(LOW);
}
@@ -618,6 +621,8 @@
const uint8_t max_payload_size = 32;
write_register(RX_PW_P0,min(payload_size,max_payload_size));
+
+ flush_tx();
}
/****************************************************************************/
@@ -994,5 +999,3 @@
else
return b;
}
-
-// vim:ai:cin:sts=2 sw=2 ft=cpp
--- a/nRF24L01P_Maniacbug.h Thu Apr 25 14:45:45 2013 +0000
+++ b/nRF24L01P_Maniacbug.h Thu May 23 13:44:14 2013 +0000
@@ -215,7 +215,8 @@
* @param level HIGH to actively begin transmission or LOW to put in standby. Please see data sheet
* for a much more detailed description of this pin.
*/
- void ce(int level);
+ void ce(int level);
+
/**
* Read a chunk of data in from a register
@@ -357,7 +358,14 @@
*/
RF24(PinName mosi, PinName miso, PinName sck, PinName _csnpin, PinName _cepin);
-
+ /**
+ * Begin operation of the chip
+ *
+ * Call this in setup(), before calling any other methods.
+ */
+ void begin(void);
+
+
/**
* Empty the receive buffer
*
@@ -371,12 +379,6 @@
* @return Current value of status register
*/
uint8_t flush_tx(void);
- /**
- * Begin operation of the chip
- *
- * Call this in setup(), before calling any other methods.
- */
- void begin(void);
/**
* Start listening on the pipes opened for reading.