NRF receiver

Dependencies:   TSI mbed nRF24L01P

Committer:
vmihalcut
Date:
Mon May 27 06:06:52 2013 +0000
Revision:
0:4eda749091bd
NRF24L01 receiver;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vmihalcut 0:4eda749091bd 1 #include "mbed.h"
vmihalcut 0:4eda749091bd 2 #include "nRF24L01P.h"
vmihalcut 0:4eda749091bd 3 #include "TSISensor.h"
vmihalcut 0:4eda749091bd 4
vmihalcut 0:4eda749091bd 5 Serial pc(USBTX, USBRX); // tx, rx
vmihalcut 0:4eda749091bd 6
vmihalcut 0:4eda749091bd 7 nRF24L01P my_nrf24l01p(PTD2, // MOSI
vmihalcut 0:4eda749091bd 8 PTD3, // MISO
vmihalcut 0:4eda749091bd 9 PTD1, // SCK
vmihalcut 0:4eda749091bd 10 PTA13, // CSN
vmihalcut 0:4eda749091bd 11 PTD5, // CE
vmihalcut 0:4eda749091bd 12 PTD0); // IRQ
vmihalcut 0:4eda749091bd 13 #define TRANSFER_SIZE 4
vmihalcut 0:4eda749091bd 14
vmihalcut 0:4eda749091bd 15 DigitalOut led(LED_GREEN);
vmihalcut 0:4eda749091bd 16
vmihalcut 0:4eda749091bd 17 TSISensor tsi;
vmihalcut 0:4eda749091bd 18
vmihalcut 0:4eda749091bd 19 int main()
vmihalcut 0:4eda749091bd 20 {
vmihalcut 0:4eda749091bd 21
vmihalcut 0:4eda749091bd 22 pc.baud(115200);
vmihalcut 0:4eda749091bd 23 pc.format();
vmihalcut 0:4eda749091bd 24
vmihalcut 0:4eda749091bd 25 char txData[TRANSFER_SIZE];
vmihalcut 0:4eda749091bd 26 int txDataCnt = 4;
vmihalcut 0:4eda749091bd 27
vmihalcut 0:4eda749091bd 28 my_nrf24l01p.powerUp();
vmihalcut 0:4eda749091bd 29
vmihalcut 0:4eda749091bd 30 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
vmihalcut 0:4eda749091bd 31 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
vmihalcut 0:4eda749091bd 32 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
vmihalcut 0:4eda749091bd 33 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
vmihalcut 0:4eda749091bd 34 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
vmihalcut 0:4eda749091bd 35
vmihalcut 0:4eda749091bd 36 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 37
vmihalcut 0:4eda749091bd 38 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 39
vmihalcut 0:4eda749091bd 40 my_nrf24l01p.enable();
vmihalcut 0:4eda749091bd 41
vmihalcut 0:4eda749091bd 42 while (1) {
vmihalcut 0:4eda749091bd 43
vmihalcut 0:4eda749091bd 44 while(tsi.readPercentage() < 0.5);
vmihalcut 0:4eda749091bd 45 txData[0] = 's';
vmihalcut 0:4eda749091bd 46 txData[1] = 't';
vmihalcut 0:4eda749091bd 47 txData[2] = 'a';
vmihalcut 0:4eda749091bd 48 txData[3] = '\0';
vmihalcut 0:4eda749091bd 49 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
vmihalcut 0:4eda749091bd 50 pc.printf("txData: %s \n\r", txData);
vmihalcut 0:4eda749091bd 51
vmihalcut 0:4eda749091bd 52 wait(1);
vmihalcut 0:4eda749091bd 53
vmihalcut 0:4eda749091bd 54 while(tsi.readPercentage() < 0.5);
vmihalcut 0:4eda749091bd 55 txData[0] = 'S';
vmihalcut 0:4eda749091bd 56 txData[1] = 'T';
vmihalcut 0:4eda749091bd 57 txData[2] = 'A';
vmihalcut 0:4eda749091bd 58 txData[3] = '\0';
vmihalcut 0:4eda749091bd 59 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
vmihalcut 0:4eda749091bd 60 pc.printf("txData: %s \n\r", txData);
vmihalcut 0:4eda749091bd 61
vmihalcut 0:4eda749091bd 62 wait(1);
vmihalcut 0:4eda749091bd 63 }
vmihalcut 0:4eda749091bd 64 }
vmihalcut 0:4eda749091bd 65
vmihalcut 0:4eda749091bd 66 /*
vmihalcut 0:4eda749091bd 67 /////////////////////////////////////////////////////////////////////////////////////
vmihalcut 0:4eda749091bd 68 Serial pc(USBTX, USBRX); // tx, rx
vmihalcut 0:4eda749091bd 69
vmihalcut 0:4eda749091bd 70 nRF24L01P my_nrf24l01p(PTD2, // MOSI
vmihalcut 0:4eda749091bd 71 PTD3, // MISO
vmihalcut 0:4eda749091bd 72 PTD1, // SCK
vmihalcut 0:4eda749091bd 73 PTA13, // CSN
vmihalcut 0:4eda749091bd 74 PTD5, // CE
vmihalcut 0:4eda749091bd 75 PTD0); // IRQ
vmihalcut 0:4eda749091bd 76 #define TRANSFER_SIZE 4
vmihalcut 0:4eda749091bd 77
vmihalcut 0:4eda749091bd 78 DigitalOut led(LED_GREEN);
vmihalcut 0:4eda749091bd 79
vmihalcut 0:4eda749091bd 80 int main() {
vmihalcut 0:4eda749091bd 81
vmihalcut 0:4eda749091bd 82 pc.baud(9600);
vmihalcut 0:4eda749091bd 83 pc.format();
vmihalcut 0:4eda749091bd 84
vmihalcut 0:4eda749091bd 85 char txData[TRANSFER_SIZE];
vmihalcut 0:4eda749091bd 86 txData[0] = 's';
vmihalcut 0:4eda749091bd 87 txData[1] = 't';
vmihalcut 0:4eda749091bd 88 txData[2] = 'a';
vmihalcut 0:4eda749091bd 89 txData[3] = '\0';
vmihalcut 0:4eda749091bd 90 int txDataCnt = 4;
vmihalcut 0:4eda749091bd 91
vmihalcut 0:4eda749091bd 92 my_nrf24l01p.powerUp();
vmihalcut 0:4eda749091bd 93
vmihalcut 0:4eda749091bd 94 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
vmihalcut 0:4eda749091bd 95 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
vmihalcut 0:4eda749091bd 96 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
vmihalcut 0:4eda749091bd 97 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
vmihalcut 0:4eda749091bd 98 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
vmihalcut 0:4eda749091bd 99
vmihalcut 0:4eda749091bd 100 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 101
vmihalcut 0:4eda749091bd 102 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 103
vmihalcut 0:4eda749091bd 104 my_nrf24l01p.enable();
vmihalcut 0:4eda749091bd 105
vmihalcut 0:4eda749091bd 106 while (1)
vmihalcut 0:4eda749091bd 107 {
vmihalcut 0:4eda749091bd 108 led = 1 - led;
vmihalcut 0:4eda749091bd 109 wait(2.0);
vmihalcut 0:4eda749091bd 110
vmihalcut 0:4eda749091bd 111 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
vmihalcut 0:4eda749091bd 112
vmihalcut 0:4eda749091bd 113 pc.printf("txData: %s \n\r", txData);
vmihalcut 0:4eda749091bd 114 }
vmihalcut 0:4eda749091bd 115 }
vmihalcut 0:4eda749091bd 116
vmihalcut 0:4eda749091bd 117
vmihalcut 0:4eda749091bd 118 /////////////////////////////////////////////////////////////////////////////////////
vmihalcut 0:4eda749091bd 119 Serial pc(USBTX, USBRX); // tx, rx
vmihalcut 0:4eda749091bd 120
vmihalcut 0:4eda749091bd 121 nRF24L01P my_nrf24l01p(PTD2, // MOSI
vmihalcut 0:4eda749091bd 122 PTD3, // MISO
vmihalcut 0:4eda749091bd 123 PTD1, // SCK
vmihalcut 0:4eda749091bd 124 PTA13, // CSN
vmihalcut 0:4eda749091bd 125 PTD5, // CE
vmihalcut 0:4eda749091bd 126 PTD0); // IRQ
vmihalcut 0:4eda749091bd 127 #define TRANSFER_SIZE 4
vmihalcut 0:4eda749091bd 128
vmihalcut 0:4eda749091bd 129 TSISensor tsi;
vmihalcut 0:4eda749091bd 130
vmihalcut 0:4eda749091bd 131 DigitalOut led(LED_GREEN);
vmihalcut 0:4eda749091bd 132
vmihalcut 0:4eda749091bd 133 int main() {
vmihalcut 0:4eda749091bd 134
vmihalcut 0:4eda749091bd 135 pc.baud(9600);
vmihalcut 0:4eda749091bd 136 pc.format();
vmihalcut 0:4eda749091bd 137
vmihalcut 0:4eda749091bd 138 char txData[TRANSFER_SIZE];
vmihalcut 0:4eda749091bd 139 txData[0] = 's';
vmihalcut 0:4eda749091bd 140 txData[1] = 't';
vmihalcut 0:4eda749091bd 141 txData[2] = 'a';
vmihalcut 0:4eda749091bd 142 txData[3] = '\0';
vmihalcut 0:4eda749091bd 143 int txDataCnt = 4;
vmihalcut 0:4eda749091bd 144
vmihalcut 0:4eda749091bd 145 my_nrf24l01p.powerUp();
vmihalcut 0:4eda749091bd 146
vmihalcut 0:4eda749091bd 147 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
vmihalcut 0:4eda749091bd 148 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
vmihalcut 0:4eda749091bd 149 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
vmihalcut 0:4eda749091bd 150 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
vmihalcut 0:4eda749091bd 151 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
vmihalcut 0:4eda749091bd 152
vmihalcut 0:4eda749091bd 153 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 154
vmihalcut 0:4eda749091bd 155 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 156
vmihalcut 0:4eda749091bd 157 my_nrf24l01p.enable();
vmihalcut 0:4eda749091bd 158
vmihalcut 0:4eda749091bd 159 while(1)
vmihalcut 0:4eda749091bd 160 {
vmihalcut 0:4eda749091bd 161 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
vmihalcut 0:4eda749091bd 162 //wait(0.5);
vmihalcut 0:4eda749091bd 163 //pc.printf("txData: %s \n\r", txData);
vmihalcut 0:4eda749091bd 164 //led = 1 - led;
vmihalcut 0:4eda749091bd 165 }
vmihalcut 0:4eda749091bd 166 }
vmihalcut 0:4eda749091bd 167
vmihalcut 0:4eda749091bd 168 /////////////////////////////////////////////////////////////////////////////////////
vmihalcut 0:4eda749091bd 169 Serial pc(USBTX, USBRX); // tx, rx
vmihalcut 0:4eda749091bd 170
vmihalcut 0:4eda749091bd 171 nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9);
vmihalcut 0:4eda749091bd 172 #define TRANSFER_SIZE 32
vmihalcut 0:4eda749091bd 173
vmihalcut 0:4eda749091bd 174
vmihalcut 0:4eda749091bd 175 //DigitalOut led(LED_GREEN);
vmihalcut 0:4eda749091bd 176
vmihalcut 0:4eda749091bd 177 int main() {
vmihalcut 0:4eda749091bd 178
vmihalcut 0:4eda749091bd 179 pc.baud(115200);
vmihalcut 0:4eda749091bd 180 pc.format();
vmihalcut 0:4eda749091bd 181
vmihalcut 0:4eda749091bd 182 char txData[TRANSFER_SIZE];
vmihalcut 0:4eda749091bd 183 txData[0] = 's';
vmihalcut 0:4eda749091bd 184 txData[1] = 't';
vmihalcut 0:4eda749091bd 185 txData[2] = 'a';
vmihalcut 0:4eda749091bd 186 txData[3] = '\0';
vmihalcut 0:4eda749091bd 187 int txDataCnt = 4;
vmihalcut 0:4eda749091bd 188
vmihalcut 0:4eda749091bd 189 my_nrf24l01p.powerUp();
vmihalcut 0:4eda749091bd 190 my_nrf24l01p.setAirDataRate(NRF24L01P_DATARATE_1_MBPS);
vmihalcut 0:4eda749091bd 191 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
vmihalcut 0:4eda749091bd 192 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
vmihalcut 0:4eda749091bd 193 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
vmihalcut 0:4eda749091bd 194 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
vmihalcut 0:4eda749091bd 195 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
vmihalcut 0:4eda749091bd 196
vmihalcut 0:4eda749091bd 197 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 198
vmihalcut 0:4eda749091bd 199 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
vmihalcut 0:4eda749091bd 200
vmihalcut 0:4eda749091bd 201 my_nrf24l01p.enable();
vmihalcut 0:4eda749091bd 202
vmihalcut 0:4eda749091bd 203 while (1)
vmihalcut 0:4eda749091bd 204 {
vmihalcut 0:4eda749091bd 205
vmihalcut 0:4eda749091bd 206 //while(tsi.readPercentage() < 0.5);
vmihalcut 0:4eda749091bd 207 txData[0] = 's';
vmihalcut 0:4eda749091bd 208 txData[1] = 't';
vmihalcut 0:4eda749091bd 209 txData[2] = 'a';
vmihalcut 0:4eda749091bd 210 txData[3] = '\0';
vmihalcut 0:4eda749091bd 211 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
vmihalcut 0:4eda749091bd 212 pc.printf("txData: %s \n\r", txData);
vmihalcut 0:4eda749091bd 213
vmihalcut 0:4eda749091bd 214 wait(1);
vmihalcut 0:4eda749091bd 215 //while(tsi.readPercentage() < 0.5);
vmihalcut 0:4eda749091bd 216 txData[0] = 'S';
vmihalcut 0:4eda749091bd 217 txData[1] = 'T';
vmihalcut 0:4eda749091bd 218 txData[2] = 'A';
vmihalcut 0:4eda749091bd 219 txData[3] = '\0';
vmihalcut 0:4eda749091bd 220 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
vmihalcut 0:4eda749091bd 221 pc.printf("txData: %s \n\r", txData);
vmihalcut 0:4eda749091bd 222
vmihalcut 0:4eda749091bd 223 wait(1);
vmihalcut 0:4eda749091bd 224 }
vmihalcut 0:4eda749091bd 225 }*/