support for auto ACK and retransmissions added
Dependents: JNP3_IOT_6_RADIO_ECHO_FIXED nRF24L01P_NET_GW nRF24L01P_NET_SENSOR Kubus ... more
Fork of nRF24L01P by
Revision 9:a7764d1566f7, committed 2017-12-21
- Comitter:
- ttajmajer
- Date:
- Thu Dec 21 13:01:40 2017 +0000
- Parent:
- 8:f8621be17645
- Commit message:
- added support for dynamic payload
Changed in this revision
| nRF24L01P.cpp | Show annotated file Show diff for this revision Revisions of this file |
| nRF24L01P.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/nRF24L01P.cpp Mon Nov 13 08:38:39 2017 +0000
+++ b/nRF24L01P.cpp Thu Dec 21 13:01:40 2017 +0000
@@ -564,6 +564,33 @@
}
+void nRF24L01P::enableDynamicPayload(int pipe) {
+
+ if ( ( pipe < NRF24L01P_PIPE_P0 ) || ( pipe > NRF24L01P_PIPE_P5 ) ) {
+
+ error( "nRF24L01P: Invalid Enable AutoAcknowledge pipe number %d\r\n", pipe );
+ return;
+
+ }
+
+ int feature = getRegister(_NRF24L01P_REG_FEATURE);
+ feature |= ( 1 << 2 );
+ setRegister(_NRF24L01P_REG_FEATURE, feature);
+
+ int dynpd = getRegister(_NRF24L01P_REG_DYNPD);
+ dynpd |= ( 1 << (pipe - NRF24L01P_PIPE_P0) );
+ setRegister(_NRF24L01P_REG_DYNPD, dynpd);
+
+}
+
+
+void nRF24L01P::disableDynamicPayload(void) {
+
+ int feature = getRegister(_NRF24L01P_REG_FEATURE);
+ feature &= !( 1 << 2 );
+ setRegister(_NRF24L01P_REG_FEATURE, feature);
+}
+
void nRF24L01P::disableAutoRetransmit(void) {
--- a/nRF24L01P.h Mon Nov 13 08:38:39 2017 +0000
+++ b/nRF24L01P.h Thu Dec 21 13:01:40 2017 +0000
@@ -320,6 +320,9 @@
*/
void enableAutoRetransmit(int delay, int count);
+ void enableDynamicPayload(int pipe);
+ void disableDynamicPayload(void);
+
void flushRx(void);
void flushTx(void);
uint8_t getRSSI(void);
