현성 김 / Mbed 2 deprecated 181202_Castone_design_master

Dependencies:   mbed nRF24L01P

Files at this revision

API Documentation at this revision

Comitter:
hyunsungkim
Date:
Sat Nov 03 15:46:49 2018 +0000
Parent:
2:4d2d1b988c14
Child:
4:ae81aeeed069
Commit message:
???? ??. ??? ?. ?? ??? ????? ?? ?. extern ??? ??? ?? ???. RF24Network receive ?? implement

Changed in this revision

RF24.lib Show annotated file Show diff for this revision Revisions of this file
RF24Network.lib Show annotated file Show diff for this revision Revisions of this file
beep.cpp Show annotated file Show diff for this revision Revisions of this file
beep.h 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
tone.h Show diff for this revision Revisions of this file
--- a/RF24.lib	Sat Nov 03 14:06:28 2018 +0000
+++ b/RF24.lib	Sat Nov 03 15:46:49 2018 +0000
@@ -1,1 +1,1 @@
-https://os.mbed.com/users/akashvibhute/code/RF24/#b6779717ef64
+http://developer.mbed.org/users/akashvibhute/code/RF24/#e94be00fd19e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RF24Network.lib	Sat Nov 03 15:46:49 2018 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/akashvibhute/code/RF24Network/#dfc8da7ac18c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/beep.cpp	Sat Nov 03 15:46:49 2018 +0000
@@ -0,0 +1,57 @@
+#include "beep.h"
+
+extern PwmOut buzzer;
+
+void beepStart()
+{
+    buzzer.write(0.5);
+    buzzer.period_us(1000000/Do5);
+    wait(0.1);
+    buzzer.period_us(1000000/Mi5);
+    wait(0.1);
+    buzzer.period_us(1000000/So5);
+    wait(0.1);
+    buzzer.write(0);
+}
+
+void beepAfterset()
+{
+    buzzer.write(0.5);
+    buzzer.period_us(1000000/Do5);
+    wait(0.1);
+    buzzer.period_us(1000000/Mi5);
+    wait(0.1);
+    buzzer.period_us(1000000/So5);
+    wait(0.1);
+    buzzer.write(0);
+    wait(0.3);
+    buzzer.write(0.5);
+    buzzer.period_us(1000000/Re5);
+    wait(0.1);
+    buzzer.period_us(1000000/Fa5);
+    wait(0.1);
+    buzzer.period_us(1000000/La5);
+    wait(0.1);
+    buzzer.write(0);
+    wait(0.3);
+    buzzer.write(0.5);
+    buzzer.period_us(1000000/Mi5);
+    wait(0.1);
+    buzzer.period_us(1000000/So5);
+    wait(0.1);
+    buzzer.period_us(1000000/Ti5);
+    wait(0.2);
+    buzzer.write(0);
+}
+
+void beepEnd()
+{
+    buzzer.write(0.5);
+    buzzer.period_us(1000000/So5);
+    wait(0.1);
+    buzzer.period_us(1000000/Mi5);
+    wait(0.1);
+    buzzer.period_us(1000000/Do5);
+    wait(0.1);
+    buzzer.write(0);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/beep.h	Sat Nov 03 15:46:49 2018 +0000
@@ -0,0 +1,54 @@
+#include "mbed.h"
+
+#define Do3  131 //C octave3
+#define Do3s 139 //C#
+#define Re3  147 //D
+#define Re3s 156//D#
+#define Mi3  165 //E
+#define Fa3  175 //F
+#define Fa3s 185 //F#
+#define So3  196 //G
+#define So3s 208 //G#
+#define La3  220 //A
+#define La3s 233 //A#
+#define Ti3  247 //B
+#define Do4  262 //C octave4
+#define Do4s 277 //C#
+#define Re4  294 //D
+#define Re4s 311//D#
+#define Mi4  330 //E
+#define Fa4  349 //F
+#define Fa4s 370 //F#
+#define So4  392 //G
+#define So4s 415 //G#
+#define La4  440 //A
+#define La4s 466 //A#
+#define Ti4  494 //B
+#define Do5  523 //C octave5
+#define Do5s 554 //C#
+#define Re5  587 //D
+#define Re5s 622//D#
+#define Mi5  659 //E
+#define Fa5  699 //F
+#define Fa5s 740 //F#
+#define So5  784 //G
+#define So5s 831 //G#
+#define La5  880 //A
+#define La5s 932 //A#
+#define Ti5  988 //B
+#define Do6  1047 //C octave6
+#define Do6s 1109 //C#
+#define Re6  1175 //D
+#define Re6s 1245 //D#
+#define Mi6  1319 //E
+#define Fa6  1397 //F
+#define Fa6s 1480 //F#
+#define So6  1568 //G
+#define So6s 1661 //G#
+#define La6  1760 //A
+#define La6s 1865 //A#
+#define Ti6  1976 //B
+
+void beepStart();
+void beepAfterset();
+void beepEnd();
\ No newline at end of file
--- a/main.cpp	Sat Nov 03 14:06:28 2018 +0000
+++ b/main.cpp	Sat Nov 03 15:46:49 2018 +0000
@@ -1,6 +1,18 @@
 #include "mbed.h"
-#include "RF24.h"
-#include "tone.h"
+#include <RF24Network.h>
+#include <RF24.h>
+#include "beep.h"
+
+/* Set */
+#define NODE_ADDR 00
+
+#define nrf_CE      D2
+#define nrf_CSN     A3
+#define spi_SCK     D13
+#define spi_MOSI    D11
+#define spi_MISO    D12
+RF24 radio(spi_MOSI, spi_MISO, spi_SCK, nrf_CE, nrf_CSN );
+RF24Network network(radio);
 
 Serial pc(USBTX, USBRX);
 Serial lidar(D1, D0);
@@ -12,78 +24,48 @@
 PwmOut led_G(A2);
 PwmOut led_R(A5);
 PwmOut buzzer(D5);
-RF24 nrf(D11,D12,D13,D2,A3);
 AnalogIn batteryCheck(A0);
 
-void startBeep();
+const uint16_t addr = NODE_ADDR;
+struct payload_t 
+{
+    unsigned long ms;
+    unsigned long counter;
+};
+
+void beepStart();
 void endBeep();
 void goForward();
 
-uint8_t id = 0;   // Listener
-//uint8_t rxAddr[10][6] = {"BOT0R","BOT1R","BOT2R","BOT3R","BOT4R","BOT5R","BOT6R","BOT7R","BOT8R","BOT9R"};
-//uint8_t txAddr[10][6] = {"BOT0T","BOT1T","BOT2T","BOT3T","BOT4T","BOT5T","BOT6T","BOT7T","BOT8T","BOT9T"};
-
-uint8_t txAddr[6] = "BTOA0";
-uint8_t rxAddr[6] = "ATOB0";
-
 int main() {
-    unsigned char outByte='Q';
-    
     led_R=1;
     led_G=1;
     led_B=1;
-    startBeep();
+    beepStart();
     pc.baud(115200);
     
-    nrf.begin();
-    nrf.stopListening();
-    nrf.openWritingPipe(txAddr);
-    nrf.openReadingPipe(1,rxAddr);
-    nrf.setChannel(101);
+    radio.begin();
+    network.begin(/*channel*/ 90, /*node address*/ addr);
+    wait_ms(2000);
     
     // Display the (default) setup of the nRF24L01+ chip
-    pc.printf( "My ID : %d", id);
-    pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  2000+nrf.getChannel() );
-    pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  nrf.getPALevel() );
-    pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", nrf.getDataRate() );
-    pc.printf( "nRF24L01+ TX Address   : 0x%X%X%X%X%X\r\n", rxAddr[0], rxAddr[1], rxAddr[2], rxAddr[3], rxAddr[4]);
-    pc.printf( "nRF24L01+ RX Address   : 0x%X%X%X%X%X\r\n", txAddr[0], txAddr[1], txAddr[2], txAddr[3], txAddr[4]);
-    pc.printf( "nRF24L01+ CRCWidth   : %d Byte\r\n", nrf.getCRCLength() );
-    
-    //goForward();
-    
-    nrf.startListening();
+    pc.printf("My ADDR : %d\r\n", NODE_ADDR);
+    pc.printf("Complete Setting");
+    beepAfterset();
     
     while(1) {
-        wait(0.3f);
-        pc.printf("Transmitted\r\n");
-        nrf.write(&outByte, 1);
+        network.update();
+        
+        while ( network.available() ) 
+        {
+            RF24NetworkHeader header_rx;
+            payload_t payload_rx;
+            network.read(header_rx,&payload_rx,sizeof(payload_rx));
+            pc.printf("Received packet # %d at %d ms\n",payload_rx.counter,payload_rx.ms);
+        }
     }
 }
 
-void startBeep()
-{
-    buzzer.write(0.5);
-    buzzer.period_us(1000000/Do5);
-    wait(0.1);
-    buzzer.period_us(1000000/Mi5);
-    wait(0.1);
-    buzzer.period_us(1000000/So5);
-    wait(0.1);
-    buzzer.write(0);
-}
-
-void endBeep()
-{
-    buzzer.write(0.5);
-    buzzer.period_us(1000000/So5);
-    wait(0.1);
-    buzzer.period_us(1000000/Mi5);
-    wait(0.1);
-    buzzer.period_us(1000000/Do5);
-    wait(0.1);
-    buzzer.write(0);
-}
 
 void goForward()
 {
@@ -159,7 +141,7 @@
             for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
                 pc.putc( rxData[i] );
             }
-            startBeep();
+            beepStart();
         }
     }
     */
\ No newline at end of file
--- a/tone.h	Sat Nov 03 14:06:28 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-#define Do3  131 //C octave3
-#define Do3s 139 //C#
-#define Re3  147 //D
-#define Re3s 156//D#
-#define Mi3  165 //E
-#define Fa3  175 //F
-#define Fa3s 185 //F#
-#define So3  196 //G
-#define So3s 208 //G#
-#define La3  220 //A
-#define La3s 233 //A#
-#define Ti3  247 //B
-#define Do4  262 //C octave4
-#define Do4s 277 //C#
-#define Re4  294 //D
-#define Re4s 311//D#
-#define Mi4  330 //E
-#define Fa4  349 //F
-#define Fa4s 370 //F#
-#define So4  392 //G
-#define So4s 415 //G#
-#define La4  440 //A
-#define La4s 466 //A#
-#define Ti4  494 //B
-#define Do5  523 //C octave5
-#define Do5s 554 //C#
-#define Re5  587 //D
-#define Re5s 622//D#
-#define Mi5  659 //E
-#define Fa5  699 //F
-#define Fa5s 740 //F#
-#define So5  784 //G
-#define So5s 831 //G#
-#define La5  880 //A
-#define La5s 932 //A#
-#define Ti5  988 //B
-#define Do6  1047 //C octave6
-#define Do6s 1109 //C#
-#define Re6  1175 //D
-#define Re6s 1245 //D#
-#define Mi6  1319 //E
-#define Fa6  1397 //F
-#define Fa6s 1480 //F#
-#define So6  1568 //G
-#define So6s 1661 //G#
-#define La6  1760 //A
-#define La6s 1865 //A#
-#define Ti6  1976 //B
\ No newline at end of file