NRF receiver
Dependencies: TSI mbed nRF24L01P
main_send.cpp@0:4eda749091bd, 2013-05-27 (annotated)
- Committer:
- vmihalcut
- Date:
- Mon May 27 06:06:52 2013 +0000
- Revision:
- 0:4eda749091bd
NRF24L01 receiver;
Who changed what in which revision?
User | Revision | Line number | New 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 | }*/ |