RF24 main code

Dependencies:   RF24 mbed

Files at this revision

API Documentation at this revision

Comitter:
adam_z
Date:
Thu Jul 28 08:12:37 2016 +0000
Commit message:
RF24L01 on platform of STM32F446RE(SPI2)

Changed in this revision

RF24.lib Show annotated file Show diff for this revision Revisions of this file
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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RF24.lib	Thu Jul 28 08:12:37 2016 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/LDSC_Robotics_TAs/code/RF24/#6827b6f0283b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Jul 28 08:12:37 2016 +0000
@@ -0,0 +1,97 @@
+
+
+#include <mbed.h>
+
+#include "nRF24L01.h"
+#include "RF24.h"
+
+
+
+
+//
+// Hardware configuration
+//
+
+
+
+
+/*
+
+
+    _____
+    |8|7|     pi map with oscillator up front
+    -----
+    |6|5|
+    -----
+    |4|3|
+    -----
+    |2|1|
+    -----
+  PINOUTS
+  http://docs.spark.io/#/firmware/communication-spi
+  http://maniacbug.wordpress.com/2011/11/02/getting-started-rf24/
+
+  SPARK CORE    SHIELD SHIELD    NRF24L01+
+  GND           GND              1 (GND)
+  3V3 (3.3V)    3.3V             2 (3V3)
+  D6 (CSN)      9  (D6)          3 (CE)
+  A2 (SS)       10 (SS)          4 (CSN)
+  A3 (SCK)      13 (SCK)         5 (SCK)
+  A5 (MOSI)     11 (MOSI)        6 (MOSI)
+  A4 (MISO)     12 (MISO)        7 (MISO)
+
+  NOTE: Also place a 10-100uF cap across the power inputs of
+        the NRF24L01+.  I/O o fthe NRF24 is 5V tolerant, but
+        do NOT connect more than 3.3V to pin 1!!!
+ */
+
+// Set up nRF24L01 radio on SPI bus, and pins 9 (D6) & 10 (A2) on the Shield Shield
+RF24 radio(PB_15, PB_14, PB_13, PB_1, PB_2);//*****MOSI MISO SCK CE CS******
+
+const uint64_t send_pipe=0xB01DFACECEL;//These are just arbitrary 64bit numbers to use as pipe identifiers
+const uint64_t recv_pipe=0xDEADBEEFF1L;//They must be the same on both ends of the communciations
+
+DigitalOut HLio(PB_12);
+Serial pc(SERIAL_TX, SERIAL_RX);
+
+
+int main()
+{
+
+    pc.baud(9600);//Set up comm with the IDE serial monitor
+    pc.printf("Ready for commands");
+    radio.begin();//Start up the radio object
+    radio.setRetries(15,15);//This will improve reliability of the module if it encounters interference
+    radio.setPALevel(RF24_PA_LOW);//This sets the power low. This will reduce the range. RF24_PA_MAX would increase the range
+    radio.openWritingPipe(send_pipe);//Thses are the reverse of the transmit code.
+    radio.openReadingPipe(1,recv_pipe);
+    radio.startListening();//Give the module a kick
+
+    while(true) {
+        unsigned long motor_code=0;
+        HLio = 0;
+
+
+//        pc.printf("%d\r\n",radio.available());
+        if( radio.available()) { //Keep checking on each loop to see if any data has come in
+            HLio = 1;
+            while(radio.available()) { //Loop while there is incoming data. The packets are one unsigned long in total so it shoudl only loop once
+                radio.read(&motor_code, sizeof(unsigned long));//Stuff the incoming packet into the motor_code variable
+
+            }
+            HLio = 0;
+//            radio.stopListening();//We have heard so now we will send an ack
+//            radio.write(&motor_code, sizeof(unsigned long));//Turn the motor code around and send it back
+            radio.startListening();//Go back to listening as this is what this mostly does
+            
+            pc.printf("%d\r\n",motor_code);
+            
+
+        }
+
+//    wait_ms(10);
+    }
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jul 28 08:12:37 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/f9eeca106725
\ No newline at end of file