NRF receiver

Dependencies:   TSI mbed nRF24L01P

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main_send.cpp Source File

main_send.cpp

00001 #include "mbed.h"
00002 #include "nRF24L01P.h"
00003 #include "TSISensor.h"
00004 
00005 Serial pc(USBTX, USBRX); // tx, rx
00006 
00007 nRF24L01P my_nrf24l01p(PTD2,    // MOSI
00008                        PTD3,    // MISO
00009                        PTD1,    // SCK
00010                        PTA13,   // CSN
00011                        PTD5,    // CE
00012                        PTD0);   // IRQ
00013 #define TRANSFER_SIZE   4
00014 
00015 DigitalOut led(LED_GREEN);
00016 
00017 TSISensor tsi;
00018 
00019 int main()
00020 {
00021 
00022     pc.baud(115200);
00023     pc.format();
00024 
00025     char txData[TRANSFER_SIZE];
00026     int txDataCnt = 4;
00027 
00028     my_nrf24l01p.powerUp();
00029 
00030     pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
00031     pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
00032     pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
00033     pc.printf( "nRF24L01+ TX Address   : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
00034     pc.printf( "nRF24L01+ RX Address   : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
00035 
00036     pc.printf( "Type keys to test transfers:\r\n  (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
00037 
00038     my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
00039 
00040     my_nrf24l01p.enable();
00041 
00042     while (1) {
00043 
00044         while(tsi.readPercentage() < 0.5);
00045         txData[0] = 's';
00046         txData[1] = 't';
00047         txData[2] = 'a';
00048         txData[3] = '\0';
00049         my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
00050         pc.printf("txData: %s \n\r", txData);
00051 
00052         wait(1);
00053 
00054         while(tsi.readPercentage() < 0.5);
00055         txData[0] = 'S';
00056         txData[1] = 'T';
00057         txData[2] = 'A';
00058         txData[3] = '\0';
00059         my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
00060         pc.printf("txData: %s \n\r", txData);
00061 
00062         wait(1);
00063     }
00064 }
00065 
00066 /*
00067 /////////////////////////////////////////////////////////////////////////////////////
00068 Serial pc(USBTX, USBRX); // tx, rx
00069 
00070 nRF24L01P my_nrf24l01p(PTD2,    // MOSI
00071                        PTD3,    // MISO
00072                        PTD1,    // SCK
00073                        PTA13,   // CSN
00074                        PTD5,    // CE
00075                        PTD0);   // IRQ
00076 #define TRANSFER_SIZE   4
00077 
00078 DigitalOut led(LED_GREEN);
00079 
00080 int main() {
00081 
00082     pc.baud(9600);
00083     pc.format();
00084 
00085     char txData[TRANSFER_SIZE];
00086     txData[0] = 's';
00087     txData[1] = 't';
00088     txData[2] = 'a';
00089     txData[3] = '\0';
00090     int txDataCnt = 4;
00091 
00092     my_nrf24l01p.powerUp();
00093 
00094     pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
00095     pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
00096     pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
00097     pc.printf( "nRF24L01+ TX Address   : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
00098     pc.printf( "nRF24L01+ RX Address   : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
00099 
00100     pc.printf( "Type keys to test transfers:\r\n  (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
00101 
00102     my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
00103 
00104     my_nrf24l01p.enable();
00105 
00106     while (1)
00107     {
00108         led = 1 - led;
00109         wait(2.0);
00110 
00111         my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
00112 
00113         pc.printf("txData: %s \n\r", txData);
00114     }
00115 }
00116 
00117 
00118 /////////////////////////////////////////////////////////////////////////////////////
00119 Serial pc(USBTX, USBRX); // tx, rx
00120 
00121 nRF24L01P my_nrf24l01p(PTD2,    // MOSI
00122                        PTD3,    // MISO
00123                        PTD1,    // SCK
00124                        PTA13,   // CSN
00125                        PTD5,    // CE
00126                        PTD0);   // IRQ
00127 #define TRANSFER_SIZE   4
00128 
00129 TSISensor tsi;
00130 
00131 DigitalOut led(LED_GREEN);
00132 
00133 int main() {
00134 
00135     pc.baud(9600);
00136     pc.format();
00137 
00138     char txData[TRANSFER_SIZE];
00139     txData[0] = 's';
00140     txData[1] = 't';
00141     txData[2] = 'a';
00142     txData[3] = '\0';
00143     int txDataCnt = 4;
00144 
00145     my_nrf24l01p.powerUp();
00146 
00147     pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
00148     pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
00149     pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
00150     pc.printf( "nRF24L01+ TX Address   : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
00151     pc.printf( "nRF24L01+ RX Address   : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
00152 
00153     pc.printf( "Type keys to test transfers:\r\n  (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
00154 
00155     my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
00156 
00157     my_nrf24l01p.enable();
00158 
00159     while(1)
00160     {
00161         my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
00162         //wait(0.5);
00163         //pc.printf("txData: %s \n\r", txData);
00164         //led = 1 - led;
00165     }
00166 }
00167 
00168 /////////////////////////////////////////////////////////////////////////////////////
00169 Serial pc(USBTX, USBRX); // tx, rx
00170 
00171 nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9);
00172 #define TRANSFER_SIZE   32
00173 
00174 
00175 //DigitalOut led(LED_GREEN);
00176 
00177 int main() {
00178 
00179     pc.baud(115200);
00180     pc.format();
00181 
00182     char txData[TRANSFER_SIZE];
00183     txData[0] = 's';
00184     txData[1] = 't';
00185     txData[2] = 'a';
00186     txData[3] = '\0';
00187     int txDataCnt = 4;
00188 
00189     my_nrf24l01p.powerUp();
00190     my_nrf24l01p.setAirDataRate(NRF24L01P_DATARATE_1_MBPS);
00191     pc.printf( "nRF24L01+ Frequency    : %d MHz\r\n",  my_nrf24l01p.getRfFrequency() );
00192     pc.printf( "nRF24L01+ Output power : %d dBm\r\n",  my_nrf24l01p.getRfOutputPower() );
00193     pc.printf( "nRF24L01+ Data Rate    : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
00194     pc.printf( "nRF24L01+ TX Address   : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
00195     pc.printf( "nRF24L01+ RX Address   : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
00196 
00197     pc.printf( "Type keys to test transfers:\r\n  (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
00198 
00199     my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
00200 
00201     my_nrf24l01p.enable();
00202 
00203     while (1)
00204     {
00205 
00206         //while(tsi.readPercentage() < 0.5);
00207         txData[0] = 's';
00208         txData[1] = 't';
00209         txData[2] = 'a';
00210         txData[3] = '\0';
00211         my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
00212         pc.printf("txData: %s \n\r", txData);
00213 
00214         wait(1);
00215         //while(tsi.readPercentage() < 0.5);
00216         txData[0] = 'S';
00217         txData[1] = 'T';
00218         txData[2] = 'A';
00219         txData[3] = '\0';
00220         my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
00221         pc.printf("txData: %s \n\r", txData);
00222 
00223         wait(1);
00224     }
00225 }*/