Dependencies:   mbed nRF24L01P

Files at this revision

API Documentation at this revision

Comitter:
Devashish1806
Date:
Mon Apr 03 10:13:38 2017 +0000
Commit message:
4

Changed in this revision

Receiver.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
nRF24L01P.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 74bb95ca714d Receiver.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Receiver.cpp	Mon Apr 03 10:13:38 2017 +0000
@@ -0,0 +1,102 @@
+/*****Multiceiver wireless network*****/
+
+#include "mbed.h"
+#include "nRF24L01P.h"
+ 
+Serial pc(USBTX, USBRX); // tx, rx
+ 
+nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4);    // mosi, miso, sck, csn, ce, irq
+
+//blue for pipe1 and green for pipe0
+DigitalOut GreenLED(PTA12);
+DigitalOut BlueLED(PTC8);
+ 
+int main() {
+    
+    char count[1];
+    char RxDataCnt_PIPE0, RxDataCnt_PIPE1;
+    char temp;
+    char pot1Val, pot2Val;
+    
+    //specifying address same as transmitter for pipe0 and pipe1
+    long long RxAddress_PIPE1 = 0x333333333B;
+    long long RxAddress_PIPE0 = 0xC2C2C2C2C2;
+    
+    my_nrf24l01p.powerUp();
+    my_nrf24l01p.setRfFrequency(2416);
+    
+    //set rx address with default address and for specified pipe
+    my_nrf24l01p.setRxAddress(RxAddress_PIPE1, DEFAULT_NRF24L01P_ADDRESS_WIDTH, NRF24L01P_PIPE_P1);
+    my_nrf24l01p.setRxAddress(RxAddress_PIPE0, DEFAULT_NRF24L01P_ADDRESS_WIDTH, NRF24L01P_PIPE_P0);
+    
+ 
+    // Display the (default) setup of the nRF24L01+ chip
+    pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
+    pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
+    pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
+    
+    //display rx address for both pipes
+    pc.printf( "nRF24L01+ RX Address - PIPE0  : 0x%010llX\r\n", my_nrf24l01p.getRxAddress(NRF24L01P_PIPE_P0) );
+    pc.printf( "nRF24L01+ RX Address - PIPE1  : 0x%010llX\r\n", my_nrf24l01p.getRxAddress(NRF24L01P_PIPE_P1) );
+ 
+    pc.printf( "Wireless Sensor Network - Multiceiver\r\n" );
+    
+    RxDataCnt_PIPE0 = 1;
+    RxDataCnt_PIPE1 = 1;
+    
+    //set transfer size explicitly for both pipes
+    my_nrf24l01p.setTransferSize(RxDataCnt_PIPE1, NRF24L01P_PIPE_P1);
+    my_nrf24l01p.setTransferSize(RxDataCnt_PIPE0, NRF24L01P_PIPE_P0);
+    
+    my_nrf24l01p.setReceiveMode();
+    my_nrf24l01p.enable();
+ 
+    while (1) {
+        
+        //check if data is available in pipe0
+        if ( my_nrf24l01p.readable(NRF24L01P_PIPE_P0) ) {
+ 
+            // ...read the data into the receive buffer
+            temp = my_nrf24l01p.read( NRF24L01P_PIPE_P0, count, RxDataCnt_PIPE0 );
+            
+            pot1Val = count[0];
+            if(pot1Val>=127.5)
+            {
+                GreenLED=0;
+            }
+            else
+            {
+             GreenLED=1;
+            }
+            //pc.printf("Received: %d bytes from PIPE0; POT=%d\r\n",temp, count[0]);
+            
+            // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
+           
+        }
+        
+        //check if data is there in pipe1
+        if ( my_nrf24l01p.readable(NRF24L01P_PIPE_P1) ) {
+ 
+            // ...read the data into the receive buffer
+            temp = my_nrf24l01p.read( NRF24L01P_PIPE_P1, count, RxDataCnt_PIPE1 );
+            
+            pot2Val = count[0];
+            if(pot2Val>=127.5)
+            {
+            BlueLED=0;
+            }
+             else
+             {
+            BlueLED=1;
+            }
+ 
+            //pc.printf("Received: %d bytes from PIPE1; POT=%d\r\n",temp, count[0]);
+            
+            // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
+          
+        }
+        
+        wait_ms(100);
+        pc.printf("$%d %d;", pot1Val, pot2Val);
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 74bb95ca714d mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Apr 03 10:13:38 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/cbbeb26dbd92
\ No newline at end of file
diff -r 000000000000 -r 74bb95ca714d nRF24L01P.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nRF24L01P.lib	Mon Apr 03 10:13:38 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Owen/code/nRF24L01P/#8ae48233b4e4