Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 3:690740ab3394, committed 2018-11-03
- 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
--- 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