Library for the nRF2401A Transceiver
Dependents: nRF2401A_Hello_World nRF2401A_Wireless_Accelerometer_joypad nRF2401A_Gameduino_Invaders
Diff: nRF2401A.h
- Revision:
- 4:e8523ef6e472
- Parent:
- 3:7ae3a5e53a1f
- Child:
- 5:18ce8a56b248
--- a/nRF2401A.h Sat Oct 05 11:49:01 2013 +0000 +++ b/nRF2401A.h Sun Oct 06 16:17:32 2013 +0000 @@ -57,21 +57,28 @@ * #define TX * #define RX * + * Serial pc(USBTX, USBRX); * DigitalOut myled(LED1); + * * #ifdef TX * nRF2401A rf1(p10, p11, p12, p13, p14); * #endif + * * #ifdef RX * nRF2401A rf2(p21, p22, p23, p24, p25); - * #endif * - * Serial pc(USBTX, USBRX); + * bool rx_recieved = false; * - * int main() { - * + * void nRF2401A_rx (void *arg) + * { + * rx_recieved = true; + * } + * #endif + * int main() + * { * wait(0.005); - * * pc.printf("Hello nRF2401A\n\r"); + * * #ifdef TX * rf1.setDataPayloadLength(4 << 3) * .setAddress(0x0, 0x0, 0xa6, 0xa6, 0xa6, 3 << 3) @@ -80,8 +87,13 @@ * .setChannel(0x02); * * rf1.printControlPacket(pc); + * rf1.flushControlPacket(); + * + * nRF2401A::address_t rf2_addr = {0x0, 0x0, 0x53, 0x53, 0x53}; + * uint8_t msg[] = {0x01, 0x01, 0x01, 0x01}; + * uint32_t *msg32 = (uint32_t *) msg; + * #endif * - * #endif * #ifdef RX * rf2.setDataPayloadLength(4 << 3) * .setAddress(0x0, 0x0, 0x53, 0x53, 0x53, 3 << 3) @@ -90,35 +102,35 @@ * .setChannel(0x02); * * rf2.printControlPacket(pc); - * - * #endif - * #ifdef TX - * rf1.flushControlPacket(); - * #endif - * #ifdef RX - * rf2.flushControlPacket(); + * rf2.flushControlPacket(); + * rf2.attachRXHandler(&nRF2401A_rx, 0); * #endif - * #ifdef TX - * nRF2401A::address_t rf2_addr = {0x0, 0x0, 0x53, 0x53, 0x53}; - * uint8_t msg[] = {0x01, 0x01, 0x01, 0x01}; - * uint32_t *msg32 = (uint32_t *) msg; - * #endif - * - * while(1) { + * + * while(1) + * { + * * #ifdef TX * rf1.sendMsg(rf2_addr, 3 << 3, msg, 4 << 3); * *msg32 += 1; * #endif + * * myled = 1; * wait(0.25); - * #ifdef RX - * rf2.printDataPacket(pc); - * #endif + * + * #ifdef RX + * if (rx_recieved) + * { + * rf2.printDataPacket(pc); + * rx_recieved = false; + * } + * #endif + * * myled = 0; * wait(0.25); * } * } * + * * @endcode */