Test program to send MAX!-Messages with a RFM22-Module
Dependencies: RF22 TextLCD TextLCDScroll mbed RF22Max
main.cpp@0:94dd393bd9bb, 2012-01-16 (annotated)
- Committer:
- charly
- Date:
- Mon Jan 16 19:06:53 2012 +0000
- Revision:
- 0:94dd393bd9bb
- Child:
- 1:b71f9a293c54
Intial Version working on mbed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
charly |
0:94dd393bd9bb | 1 | |
charly |
0:94dd393bd9bb | 2 | // Test code used during library development, showing how |
charly |
0:94dd393bd9bb | 3 | // to do various things, and how to call various functions |
charly |
0:94dd393bd9bb | 4 | // ported to mbed by Karl Zweimueller |
charly |
0:94dd393bd9bb | 5 | |
charly |
0:94dd393bd9bb | 6 | #include "mbed.h" |
charly |
0:94dd393bd9bb | 7 | |
charly |
0:94dd393bd9bb | 8 | #include <RF22.h> |
charly |
0:94dd393bd9bb | 9 | |
charly |
0:94dd393bd9bb | 10 | Serial pc(USBTX, USBRX); |
charly |
0:94dd393bd9bb | 11 | |
charly |
0:94dd393bd9bb | 12 | // mbed LEDs |
charly |
0:94dd393bd9bb | 13 | //DigitalOut led1(LED1); |
charly |
0:94dd393bd9bb | 14 | //DigitalOut led2(LED2); |
charly |
0:94dd393bd9bb | 15 | //DigitalOut led3(LED3); |
charly |
0:94dd393bd9bb | 16 | //DigitalOut led4(LED4); |
charly |
0:94dd393bd9bb | 17 | |
charly |
0:94dd393bd9bb | 18 | |
charly |
0:94dd393bd9bb | 19 | // Singleton instance of the radio |
charly |
0:94dd393bd9bb | 20 | //rf22(PinName slaveSelectPin , PinName mosi, PinName miso, PinName sclk, PinName interrupt ); |
charly |
0:94dd393bd9bb | 21 | RF22 rf22(p14,p11,p12,p13,p15); |
charly |
0:94dd393bd9bb | 22 | |
charly |
0:94dd393bd9bb | 23 | void setup() { |
charly |
0:94dd393bd9bb | 24 | |
charly |
0:94dd393bd9bb | 25 | if (!rf22.init()) |
charly |
0:94dd393bd9bb | 26 | pc.printf("RF22 init failed\n\r"); |
charly |
0:94dd393bd9bb | 27 | } |
charly |
0:94dd393bd9bb | 28 | |
charly |
0:94dd393bd9bb | 29 | void |
charly |
0:94dd393bd9bb | 30 | test_read_write() { |
charly |
0:94dd393bd9bb | 31 | uint8_t val; |
charly |
0:94dd393bd9bb | 32 | rf22.spiWrite(RF22_REG_42_CHECK_HEADER0, 10); |
charly |
0:94dd393bd9bb | 33 | val = rf22.spiRead(RF22_REG_42_CHECK_HEADER0); |
charly |
0:94dd393bd9bb | 34 | pc.printf("%n\r\n",val); |
charly |
0:94dd393bd9bb | 35 | |
charly |
0:94dd393bd9bb | 36 | rf22.spiWrite(RF22_REG_42_CHECK_HEADER0, 5); |
charly |
0:94dd393bd9bb | 37 | val = rf22.spiRead(RF22_REG_42_CHECK_HEADER0); |
charly |
0:94dd393bd9bb | 38 | pc.printf("%n\r\n", val); |
charly |
0:94dd393bd9bb | 39 | pc.printf("-----"); |
charly |
0:94dd393bd9bb | 40 | } |
charly |
0:94dd393bd9bb | 41 | |
charly |
0:94dd393bd9bb | 42 | void |
charly |
0:94dd393bd9bb | 43 | test_adc() { |
charly |
0:94dd393bd9bb | 44 | uint8_t val = rf22.adcRead(RF22_ADCSEL_GND); |
charly |
0:94dd393bd9bb | 45 | pc.printf("%n\r\n", val); |
charly |
0:94dd393bd9bb | 46 | } |
charly |
0:94dd393bd9bb | 47 | |
charly |
0:94dd393bd9bb | 48 | void test_temp() { |
charly |
0:94dd393bd9bb | 49 | float val = rf22.temperatureRead(); |
charly |
0:94dd393bd9bb | 50 | pc.printf("%3.1f\r\n", (val/2)-64); |
charly |
0:94dd393bd9bb | 51 | } |
charly |
0:94dd393bd9bb | 52 | |
charly |
0:94dd393bd9bb | 53 | void |
charly |
0:94dd393bd9bb | 54 | test_burst_read() { |
charly |
0:94dd393bd9bb | 55 | uint8_t buf[127]; |
charly |
0:94dd393bd9bb | 56 | rf22.spiBurstRead(0, buf, sizeof(buf)); |
charly |
0:94dd393bd9bb | 57 | uint8_t i; |
charly |
0:94dd393bd9bb | 58 | for (i = 0; i < 127; i++) { |
charly |
0:94dd393bd9bb | 59 | pc.printf("%x : %x\n\r",i,buf[i]); |
charly |
0:94dd393bd9bb | 60 | } |
charly |
0:94dd393bd9bb | 61 | } |
charly |
0:94dd393bd9bb | 62 | |
charly |
0:94dd393bd9bb | 63 | void test_burst_write() { |
charly |
0:94dd393bd9bb | 64 | uint8_t buf[] = "Hello"; |
charly |
0:94dd393bd9bb | 65 | rf22.spiBurstWrite(RF22_REG_7F_FIFO_ACCESS, buf, sizeof(buf)); |
charly |
0:94dd393bd9bb | 66 | } |
charly |
0:94dd393bd9bb | 67 | |
charly |
0:94dd393bd9bb | 68 | void |
charly |
0:94dd393bd9bb | 69 | test_wut() { |
charly |
0:94dd393bd9bb | 70 | pc.printf("WUT Start"); |
charly |
0:94dd393bd9bb | 71 | rf22.setWutPeriod(10000); // 10000, 0, 0 -> 1 secs |
charly |
0:94dd393bd9bb | 72 | rf22.spiWrite(RF22_REG_07_OPERATING_MODE1, RF22_ENWT); |
charly |
0:94dd393bd9bb | 73 | // Wait for the interrupt to occur |
charly |
0:94dd393bd9bb | 74 | while (1) { |
charly |
0:94dd393bd9bb | 75 | uint8_t val = rf22.spiRead(RF22_REG_04_INTERRUPT_STATUS2); |
charly |
0:94dd393bd9bb | 76 | if (val & RF22_IWUT) |
charly |
0:94dd393bd9bb | 77 | break; |
charly |
0:94dd393bd9bb | 78 | } |
charly |
0:94dd393bd9bb | 79 | rf22.spiWrite(RF22_REG_07_OPERATING_MODE1, 0); |
charly |
0:94dd393bd9bb | 80 | |
charly |
0:94dd393bd9bb | 81 | pc.printf("WUT Interrupt bit detected OK"); |
charly |
0:94dd393bd9bb | 82 | } |
charly |
0:94dd393bd9bb | 83 | |
charly |
0:94dd393bd9bb | 84 | void |
charly |
0:94dd393bd9bb | 85 | test_set_frequency() { |
charly |
0:94dd393bd9bb | 86 | if (!rf22.setFHStepSize(0)) |
charly |
0:94dd393bd9bb | 87 | pc.printf("setFHStepSize 1 Fail"); |
charly |
0:94dd393bd9bb | 88 | if (!rf22.setFHChannel(0)) |
charly |
0:94dd393bd9bb | 89 | pc.printf("setFHChannel 1 Fail"); |
charly |
0:94dd393bd9bb | 90 | if (!rf22.setFrequency(434.0)) |
charly |
0:94dd393bd9bb | 91 | pc.printf("setFrequency 1 Fail"); |
charly |
0:94dd393bd9bb | 92 | if (!rf22.setFrequency(240.0)) |
charly |
0:94dd393bd9bb | 93 | pc.printf("setFrequency 2 Fail"); |
charly |
0:94dd393bd9bb | 94 | if (!rf22.setFrequency(929.9999)) // Higher than this produces FREQERR on my 06 silicon |
charly |
0:94dd393bd9bb | 95 | pc.printf("setFrequency 3 Fail"); |
charly |
0:94dd393bd9bb | 96 | if (rf22.setFrequency(960.1)) // Should fail |
charly |
0:94dd393bd9bb | 97 | pc.printf("setFrequency 4 Fail"); |
charly |
0:94dd393bd9bb | 98 | |
charly |
0:94dd393bd9bb | 99 | pc.printf("-------------"); |
charly |
0:94dd393bd9bb | 100 | } |
charly |
0:94dd393bd9bb | 101 | |
charly |
0:94dd393bd9bb | 102 | void |
charly |
0:94dd393bd9bb | 103 | test_rssi() { |
charly |
0:94dd393bd9bb | 104 | rf22.setModeRx(); |
charly |
0:94dd393bd9bb | 105 | pc.printf("Start\n\r"); |
charly |
0:94dd393bd9bb | 106 | float f = 848.0; |
charly |
0:94dd393bd9bb | 107 | while (f < 888.0) { |
charly |
0:94dd393bd9bb | 108 | rf22.setFrequency(f); |
charly |
0:94dd393bd9bb | 109 | wait_ms(200); // Wait for freq to settle |
charly |
0:94dd393bd9bb | 110 | uint8_t rssi = rf22.rssiRead(); |
charly |
0:94dd393bd9bb | 111 | |
charly |
0:94dd393bd9bb | 112 | pc.printf("%f: %i\n\r",f,rssi); |
charly |
0:94dd393bd9bb | 113 | f += 1.0; |
charly |
0:94dd393bd9bb | 114 | } |
charly |
0:94dd393bd9bb | 115 | pc.printf("End\n\r"); |
charly |
0:94dd393bd9bb | 116 | rf22.setModeIdle(); |
charly |
0:94dd393bd9bb | 117 | pc.printf("\n\r-------------\n\r"); |
charly |
0:94dd393bd9bb | 118 | } |
charly |
0:94dd393bd9bb | 119 | |
charly |
0:94dd393bd9bb | 120 | // Sends 0.5 secs of PN9 modulated with with GFSK at full power |
charly |
0:94dd393bd9bb | 121 | void test_tx_pn9() { |
charly |
0:94dd393bd9bb | 122 | rf22.setFrequency(434.0); |
charly |
0:94dd393bd9bb | 123 | rf22.setTxPower(RF22_TXPOW_17DBM); |
charly |
0:94dd393bd9bb | 124 | rf22.setModeRx(); |
charly |
0:94dd393bd9bb | 125 | // Takes a little while to start |
charly |
0:94dd393bd9bb | 126 | wait(1); |
charly |
0:94dd393bd9bb | 127 | pc.printf("%x \n\r",rf22.statusRead()); |
charly |
0:94dd393bd9bb | 128 | rf22.setModemConfig(RF22::FSK_PN9_Rb2Fd5); |
charly |
0:94dd393bd9bb | 129 | // rf22.setModemConfig(RF22::UnmodulatedCarrier); |
charly |
0:94dd393bd9bb | 130 | rf22.setModeTx(); // Turns off Rx |
charly |
0:94dd393bd9bb | 131 | // Takes a little while to start |
charly |
0:94dd393bd9bb | 132 | wait(1); |
charly |
0:94dd393bd9bb | 133 | pc.printf("%x \n\r",rf22.statusRead()); |
charly |
0:94dd393bd9bb | 134 | wait_ms(500); |
charly |
0:94dd393bd9bb | 135 | rf22.setModeIdle(); |
charly |
0:94dd393bd9bb | 136 | // Takes a little while to turn off the transmitter |
charly |
0:94dd393bd9bb | 137 | wait_ms(10); |
charly |
0:94dd393bd9bb | 138 | pc.printf("%x \n\r",rf22.statusRead()); |
charly |
0:94dd393bd9bb | 139 | pc.printf("-------------"); |
charly |
0:94dd393bd9bb | 140 | wait_ms(500); |
charly |
0:94dd393bd9bb | 141 | } |
charly |
0:94dd393bd9bb | 142 | |
charly |
0:94dd393bd9bb | 143 | // Connect analog test points to GPIO1 and GPIO2 |
charly |
0:94dd393bd9bb | 144 | void test_analog_gpio() { |
charly |
0:94dd393bd9bb | 145 | rf22.setFrequency(434.0); |
charly |
0:94dd393bd9bb | 146 | rf22.setModeRx(); |
charly |
0:94dd393bd9bb | 147 | // GPIO1 for Test N output |
charly |
0:94dd393bd9bb | 148 | rf22.spiWrite(RF22_REG_0C_GPIO_CONFIGURATION1, 0x0c); |
charly |
0:94dd393bd9bb | 149 | // GPIO2 for Test P output |
charly |
0:94dd393bd9bb | 150 | rf22.spiWrite(RF22_REG_0D_GPIO_CONFIGURATION2, 0x0d); |
charly |
0:94dd393bd9bb | 151 | rf22.spiWrite(RF22_REG_50_ANALOG_TEST_BUS_SELECT, 15); // Detector? |
charly |
0:94dd393bd9bb | 152 | while (1); |
charly |
0:94dd393bd9bb | 153 | } |
charly |
0:94dd393bd9bb | 154 | |
charly |
0:94dd393bd9bb | 155 | void test_modem_config() { |
charly |
0:94dd393bd9bb | 156 | if (rf22.setModemConfig((RF22::ModemConfigChoice)255)) // Should fail |
charly |
0:94dd393bd9bb | 157 | pc.printf("setModemConfig 1 failed"); |
charly |
0:94dd393bd9bb | 158 | if (!rf22.setModemConfig(RF22::FSK_Rb2Fd5)) |
charly |
0:94dd393bd9bb | 159 | pc.printf("setModemConfig 2 failed"); |
charly |
0:94dd393bd9bb | 160 | if (!rf22.setModemConfig(RF22::FSK_Rb2_4Fd36)) |
charly |
0:94dd393bd9bb | 161 | pc.printf("setModemConfig 3 failed"); |
charly |
0:94dd393bd9bb | 162 | if (!rf22.setModemConfig(RF22::GFSK_Rb2_4Fd36)) |
charly |
0:94dd393bd9bb | 163 | pc.printf("setModemConfig 3 failed"); |
charly |
0:94dd393bd9bb | 164 | if (!rf22.setModemConfig(RF22::OOK_Rb40Bw335)) |
charly |
0:94dd393bd9bb | 165 | pc.printf("setModemConfig 4 failed"); |
charly |
0:94dd393bd9bb | 166 | |
charly |
0:94dd393bd9bb | 167 | pc.printf("-------------"); |
charly |
0:94dd393bd9bb | 168 | } |
charly |
0:94dd393bd9bb | 169 | |
charly |
0:94dd393bd9bb | 170 | // This works with test_rx below |
charly |
0:94dd393bd9bb | 171 | void test_tx() { |
charly |
0:94dd393bd9bb | 172 | pc.printf("Start Send...\n\r"); |
charly |
0:94dd393bd9bb | 173 | if (!rf22.setFrequency(869.50)) |
charly |
0:94dd393bd9bb | 174 | pc.printf("setFrequency failed"); |
charly |
0:94dd393bd9bb | 175 | if (!rf22.setModemConfig(RF22::GFSK_Rb2Fd5)) |
charly |
0:94dd393bd9bb | 176 | pc.printf("setModemConfig failed"); |
charly |
0:94dd393bd9bb | 177 | //uint8_t data[] = "hello"; |
charly |
0:94dd393bd9bb | 178 | // 255 octets: |
charly |
0:94dd393bd9bb | 179 | uint8_t data[] = "12345678901234567890123456789012345678901234567890123456789012312345678901234567890123456789012345678901234567890123456789012312345678901234567890123456789012345678901234567890123456789012312345678901234567890123456789012345678901234567890123456789012345"; |
charly |
0:94dd393bd9bb | 180 | rf22.send(data, sizeof(data)); |
charly |
0:94dd393bd9bb | 181 | rf22.waitPacketSent(); |
charly |
0:94dd393bd9bb | 182 | pc.printf("Send OK\n\r"); |
charly |
0:94dd393bd9bb | 183 | |
charly |
0:94dd393bd9bb | 184 | } |
charly |
0:94dd393bd9bb | 185 | |
charly |
0:94dd393bd9bb | 186 | // This works with test_tx above |
charly |
0:94dd393bd9bb | 187 | void test_rx() { |
charly |
0:94dd393bd9bb | 188 | pc.printf("Start Receive...\n\r"); |
charly |
0:94dd393bd9bb | 189 | //if (!rf22.setFrequency(869.50)) |
charly |
0:94dd393bd9bb | 190 | if (!rf22.setFrequency(869.49)) // sending frequesnce doesn't work!!! Seems to be a problem if combining RFM22B-S1 with -S2 |
charly |
0:94dd393bd9bb | 191 | pc.printf("setFrequency failed\n\r"); |
charly |
0:94dd393bd9bb | 192 | if (!rf22.setModemConfig(RF22::GFSK_Rb2Fd5)) |
charly |
0:94dd393bd9bb | 193 | pc.printf("setModemConfig failed\n\r"); |
charly |
0:94dd393bd9bb | 194 | |
charly |
0:94dd393bd9bb | 195 | //while (1) { |
charly |
0:94dd393bd9bb | 196 | uint8_t buf[RF22_MAX_MESSAGE_LEN]; |
charly |
0:94dd393bd9bb | 197 | uint8_t len = sizeof(buf); |
charly |
0:94dd393bd9bb | 198 | if (rf22.recv(buf, &len)) // Should fail, no message available |
charly |
0:94dd393bd9bb | 199 | pc.printf("recv 1 failed\n\r"); |
charly |
0:94dd393bd9bb | 200 | |
charly |
0:94dd393bd9bb | 201 | //rf22.waitAvailable(); |
charly |
0:94dd393bd9bb | 202 | if (rf22.waitAvailableTimeout(6000)) { |
charly |
0:94dd393bd9bb | 203 | if (rf22.recv(buf, &len)) |
charly |
0:94dd393bd9bb | 204 | pc.printf("got one in user: >%s<\n\r",(char*)buf); |
charly |
0:94dd393bd9bb | 205 | |
charly |
0:94dd393bd9bb | 206 | else |
charly |
0:94dd393bd9bb | 207 | pc.printf("recv 2 failed\n\r"); |
charly |
0:94dd393bd9bb | 208 | } else |
charly |
0:94dd393bd9bb | 209 | pc.printf("recv timeout\n\r"); |
charly |
0:94dd393bd9bb | 210 | |
charly |
0:94dd393bd9bb | 211 | //} |
charly |
0:94dd393bd9bb | 212 | } |
charly |
0:94dd393bd9bb | 213 | |
charly |
0:94dd393bd9bb | 214 | void loop() { |
charly |
0:94dd393bd9bb | 215 | // test_read_write(); |
charly |
0:94dd393bd9bb | 216 | // test_adc(); |
charly |
0:94dd393bd9bb | 217 | // test_temp(); |
charly |
0:94dd393bd9bb | 218 | // test_burst_read(); |
charly |
0:94dd393bd9bb | 219 | // test_burst_write(); |
charly |
0:94dd393bd9bb | 220 | // test_wut(); |
charly |
0:94dd393bd9bb | 221 | // test_set_frequency(); |
charly |
0:94dd393bd9bb | 222 | // test_rssi(); |
charly |
0:94dd393bd9bb | 223 | test_tx_pn9(); |
charly |
0:94dd393bd9bb | 224 | // test_analog_gpio(); |
charly |
0:94dd393bd9bb | 225 | // test_modem_config(); |
charly |
0:94dd393bd9bb | 226 | // test_tx(); |
charly |
0:94dd393bd9bb | 227 | // test_rx(); |
charly |
0:94dd393bd9bb | 228 | |
charly |
0:94dd393bd9bb | 229 | // while (1); |
charly |
0:94dd393bd9bb | 230 | wait_ms(1000); |
charly |
0:94dd393bd9bb | 231 | } |
charly |
0:94dd393bd9bb | 232 | |
charly |
0:94dd393bd9bb | 233 | /*float start = 868.0; |
charly |
0:94dd393bd9bb | 234 | float end = 868.8; |
charly |
0:94dd393bd9bb | 235 | */ |
charly |
0:94dd393bd9bb | 236 | //869,40 - 869,65 Allgemein |
charly |
0:94dd393bd9bb | 237 | float start = 869.4; |
charly |
0:94dd393bd9bb | 238 | float end = 869.65; |
charly |
0:94dd393bd9bb | 239 | float step = 0.02; |
charly |
0:94dd393bd9bb | 240 | |
charly |
0:94dd393bd9bb | 241 | void spec() { |
charly |
0:94dd393bd9bb | 242 | rf22.setModeRx(); |
charly |
0:94dd393bd9bb | 243 | float freq; |
charly |
0:94dd393bd9bb | 244 | pc.printf("\033[H"); // Home |
charly |
0:94dd393bd9bb | 245 | pc.printf("\033[2J"); // Clear Screen |
charly |
0:94dd393bd9bb | 246 | for (freq = start; freq < end; freq += step) { |
charly |
0:94dd393bd9bb | 247 | rf22.setFrequency(freq); |
charly |
0:94dd393bd9bb | 248 | wait_ms(10); // Let the freq settle |
charly |
0:94dd393bd9bb | 249 | uint8_t rssi = rf22.rssiRead(); |
charly |
0:94dd393bd9bb | 250 | uint8_t stars = rssi / 8; |
charly |
0:94dd393bd9bb | 251 | |
charly |
0:94dd393bd9bb | 252 | pc.printf("%f: ",freq); |
charly |
0:94dd393bd9bb | 253 | |
charly |
0:94dd393bd9bb | 254 | // Serial.print(rssi, DEC); |
charly |
0:94dd393bd9bb | 255 | uint8_t i; |
charly |
0:94dd393bd9bb | 256 | for (i = 0; i < stars; i++) |
charly |
0:94dd393bd9bb | 257 | pc.putc('*'); |
charly |
0:94dd393bd9bb | 258 | pc.printf("\033[K\n\r"); // DElete to EOL |
charly |
0:94dd393bd9bb | 259 | |
charly |
0:94dd393bd9bb | 260 | } |
charly |
0:94dd393bd9bb | 261 | pc.printf("------------------\n\r"); |
charly |
0:94dd393bd9bb | 262 | } |
charly |
0:94dd393bd9bb | 263 | |
charly |
0:94dd393bd9bb | 264 | |
charly |
0:94dd393bd9bb | 265 | int main() { |
charly |
0:94dd393bd9bb | 266 | pc.baud(115200); |
charly |
0:94dd393bd9bb | 267 | |
charly |
0:94dd393bd9bb | 268 | pc.printf("\n\rConnected to mbed\n\r"); |
charly |
0:94dd393bd9bb | 269 | |
charly |
0:94dd393bd9bb | 270 | pc.printf("Pre-setup|"); |
charly |
0:94dd393bd9bb | 271 | setup(); |
charly |
0:94dd393bd9bb | 272 | pc.printf("Post-setup\n\r"); |
charly |
0:94dd393bd9bb | 273 | |
charly |
0:94dd393bd9bb | 274 | |
charly |
0:94dd393bd9bb | 275 | //pc.printf("Pre-test_temp|"); |
charly |
0:94dd393bd9bb | 276 | //test_temp(); |
charly |
0:94dd393bd9bb | 277 | //pc.printf("Post-test_temp\n\r"); |
charly |
0:94dd393bd9bb | 278 | |
charly |
0:94dd393bd9bb | 279 | //pc.printf("Pre-test_set_frequency|"); |
charly |
0:94dd393bd9bb | 280 | //test_set_frequency(); |
charly |
0:94dd393bd9bb | 281 | //pc.printf("Post-test_set_frequency\n\r"); |
charly |
0:94dd393bd9bb | 282 | |
charly |
0:94dd393bd9bb | 283 | /* while (1){ |
charly |
0:94dd393bd9bb | 284 | pc.printf("Pre-test_rssi|"); |
charly |
0:94dd393bd9bb | 285 | test_rssi(); |
charly |
0:94dd393bd9bb | 286 | pc.printf("Post-test_rssi\n\r"); |
charly |
0:94dd393bd9bb | 287 | } |
charly |
0:94dd393bd9bb | 288 | |
charly |
0:94dd393bd9bb | 289 | while (1) { |
charly |
0:94dd393bd9bb | 290 | spec(); |
charly |
0:94dd393bd9bb | 291 | } |
charly |
0:94dd393bd9bb | 292 | */ |
charly |
0:94dd393bd9bb | 293 | |
charly |
0:94dd393bd9bb | 294 | while (1) { |
charly |
0:94dd393bd9bb | 295 | test_tx(); |
charly |
0:94dd393bd9bb | 296 | rf22.setModeRx(); |
charly |
0:94dd393bd9bb | 297 | wait(0.5); |
charly |
0:94dd393bd9bb | 298 | test_rx(); |
charly |
0:94dd393bd9bb | 299 | wait(2); |
charly |
0:94dd393bd9bb | 300 | spec(); |
charly |
0:94dd393bd9bb | 301 | } |
charly |
0:94dd393bd9bb | 302 | |
charly |
0:94dd393bd9bb | 303 | //pc.printf("Ready.\n\r"); |
charly |
0:94dd393bd9bb | 304 | } |
charly |
0:94dd393bd9bb | 305 | |
charly |
0:94dd393bd9bb | 306 |