code

Dependencies:   mbed temp_sensor

Fork of nRF24L01P_Hello_World by Owen Edwards

Files at this revision

API Documentation at this revision

Comitter:
thorb3n
Date:
Tue Dec 22 12:46:12 2015 +0000
Parent:
1:5be2682710c6
Commit message:
hi

Changed in this revision

main.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 5be2682710c6 -r ec74a752a796 main.cpp
--- a/main.cpp	Wed Jan 19 23:53:19 2011 +0000
+++ b/main.cpp	Tue Dec 22 12:46:12 2015 +0000
@@ -1,75 +1,58 @@
 #include "mbed.h"
-#include "nRF24L01P.h"
-
-Serial pc(USBTX, USBRX); // tx, rx
-
-nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9, p10);    // mosi, miso, sck, csn, ce, irq
-
-DigitalOut myled1(LED1);
-DigitalOut myled2(LED2);
-
-int main() {
 
-// The nRF24L01+ supports transfers from 1 to 32 bytes, but Sparkfun's
-//  "Nordic Serial Interface Board" (http://www.sparkfun.com/products/9019)
-//  only handles 4 byte transfers in the ATMega code.
-#define TRANSFER_SIZE   4
+#define IWDG_START 0x0000CCCC
+#define IWDG_WRITE_ACCESS 0x00005555
+#define IWDG_PR_PR_0 7
+#define IWDG_RELOAD 512*60
+#define IWDG_REFRESH 0xAAAA
+DigitalOut myled(LED1);
+#include "nRF24L01P.h"
+DigitalOut pwr(D2);
+Serial pc(USBTX, USBRX); // tx, rx
+#define TRANSFER_SIZE   1
+int main()
+{
+    pwr = 1;
+    wait(2);
+    nRF24L01P my_nrf24l01p(D4,D5,D3,D10,D8,D9);    // mosi, miso, sck, csn, ce, irq
 
-    char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
+    char txData[TRANSFER_SIZE];
     int txDataCnt = 0;
-    int rxDataCnt = 0;
+    txData[0] = 2;
+    txDataCnt = 2;
+    my_nrf24l01p.powerUp();
+    my_nrf24l01p.setAirDataRate(250);
+    my_nrf24l01p.setTxAddress(0xE7E7E7E7E1,5);
+    my_nrf24l01p.setRxAddress(0xE7E7E7E7E7,5,0);
 
-    my_nrf24l01p.powerUp();
-
+#ifdef DEBUG
     // 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() );
     pc.printf( "nRF24L01+ TX Address   : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
     pc.printf( "nRF24L01+ RX Address   : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
-
-    pc.printf( "Type keys to test transfers:\r\n  (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
-
+#endif
     my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
-
-    my_nrf24l01p.setReceiveMode();
+    my_nrf24l01p.setTransmitMode();
     my_nrf24l01p.enable();
-
-    while (1) {
-
-        // If we've received anything over the host serial link...
-        if ( pc.readable() ) {
-
-            // ...add it to the transmit buffer
-            txData[txDataCnt++] = pc.getc();
-
-            // If the transmit buffer is full
-            if ( txDataCnt >= sizeof( txData ) ) {
-
-                // Send the transmitbuffer via the nRF24L01+
-                my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
+#ifdef DEBUG
+    IWDG->KR=IWDG_START;
+    wait(5);
+    IWDG->KR=IWDG_WRITE_ACCESS;
+    IWDG->PR=IWDG_PR_PR_0;
+    IWDG->RLR=IWDG_RELOAD;
+    while(IWDG->SR) {
+        wait(0.1);
+    }
+    pc.printf("Starte");
+    pc.printf("sende");
+    pc.printf("%d",txData[0]);
+#endif
+    my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
+    IWDG->KR=IWDG_REFRESH;
+    deepsleep();
 
-                txDataCnt = 0;
-            }
-
-            // Toggle LED1 (to help debug Host -> nRF24L01+ communication)
-            myled1 = !myled1;
-        }
-
-        // If we've received anything in the nRF24L01+...
-        if ( my_nrf24l01p.readable() ) {
 
-            // ...read the data into the receive buffer
-            rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
-
-            // Display the receive buffer contents via the host serial link
-            for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
+}
 
-                pc.putc( rxData[i] );
-            }
-
-            // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
-            myled2 = !myled2;
-        }
-    }
-}
diff -r 5be2682710c6 -r ec74a752a796 mbed.bld
--- a/mbed.bld	Wed Jan 19 23:53:19 2011 +0000
+++ b/mbed.bld	Tue Dec 22 12:46:12 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e
+http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11
\ No newline at end of file
diff -r 5be2682710c6 -r ec74a752a796 nRF24L01P.lib
--- a/nRF24L01P.lib	Wed Jan 19 23:53:19 2011 +0000
+++ b/nRF24L01P.lib	Tue Dec 22 12:46:12 2015 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/Owen/code/nRF24L01P/#8ae48233b4e4
+https://developer.mbed.org/users/thorb3n/code/temp_sensor/#72853d23ec4f