code for the receiver

Dependencies:   XBeeLib mbed

Committer:
jasmou
Date:
Thu Mar 31 15:11:03 2016 +0000
Revision:
0:3acd447c12c0
code for the receiver

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jasmou 0:3acd447c12c0 1 #include "mbed.h"
jasmou 0:3acd447c12c0 2 #include "XBeeLib.h"
jasmou 0:3acd447c12c0 3
jasmou 0:3acd447c12c0 4 using namespace XBeeLib;
jasmou 0:3acd447c12c0 5
jasmou 0:3acd447c12c0 6 Serial pc(USBTX, USBRX);
jasmou 0:3acd447c12c0 7
jasmou 0:3acd447c12c0 8 bool capt_1;
jasmou 0:3acd447c12c0 9 bool capt_2;
jasmou 0:3acd447c12c0 10 bool capt_3;
jasmou 0:3acd447c12c0 11 bool capt_4;
jasmou 0:3acd447c12c0 12 bool capt_5;
jasmou 0:3acd447c12c0 13 bool capt_6;
jasmou 0:3acd447c12c0 14
jasmou 0:3acd447c12c0 15 /** Callback function, invoked at packet reception */
jasmou 0:3acd447c12c0 16 static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len)
jasmou 0:3acd447c12c0 17 {
jasmou 0:3acd447c12c0 18 const uint64_t remote_addr64 = remote.get_addr64();
jasmou 0:3acd447c12c0 19
jasmou 0:3acd447c12c0 20 pc.printf("\r\nGot packet, len %d\r\nData: ", len);
jasmou 0:3acd447c12c0 21
jasmou 0:3acd447c12c0 22 for (int i = 0; i < len; i++)
jasmou 0:3acd447c12c0 23 {
jasmou 0:3acd447c12c0 24 pc.printf("%02x ", data[i]);
jasmou 0:3acd447c12c0 25 }
jasmou 0:3acd447c12c0 26
jasmou 0:3acd447c12c0 27 capt_1 = data[0] >> 7;
jasmou 0:3acd447c12c0 28 capt_2 = data[0] >> 6;
jasmou 0:3acd447c12c0 29 capt_3 = data[0] >> 5;
jasmou 0:3acd447c12c0 30 capt_4 = data[0] >> 4;
jasmou 0:3acd447c12c0 31 capt_5 = data[0] >> 3;
jasmou 0:3acd447c12c0 32 capt_6 = data[0] >> 2;
jasmou 0:3acd447c12c0 33
jasmou 0:3acd447c12c0 34 pc.printf("\r\n");
jasmou 0:3acd447c12c0 35 }
jasmou 0:3acd447c12c0 36
jasmou 0:3acd447c12c0 37 int main()
jasmou 0:3acd447c12c0 38 {
jasmou 0:3acd447c12c0 39 XBeeZB xbee = XBeeZB(p13, p14, NC, NC, NC, 9600);
jasmou 0:3acd447c12c0 40
jasmou 0:3acd447c12c0 41 /* Register callbacks */
jasmou 0:3acd447c12c0 42 xbee.register_receive_cb(&receive_cb);
jasmou 0:3acd447c12c0 43
jasmou 0:3acd447c12c0 44 RadioStatus const radioStatus = xbee.init();
jasmou 0:3acd447c12c0 45 MBED_ASSERT(radioStatus == Success);
jasmou 0:3acd447c12c0 46
jasmou 0:3acd447c12c0 47 /* Wait until the device has joined the network */
jasmou 0:3acd447c12c0 48 pc.printf("Waiting for device to join the network: ");
jasmou 0:3acd447c12c0 49 while (!xbee.is_joined()) {
jasmou 0:3acd447c12c0 50 wait_ms(1000);
jasmou 0:3acd447c12c0 51 }
jasmou 0:3acd447c12c0 52 pc.printf("OK\r\n");
jasmou 0:3acd447c12c0 53
jasmou 0:3acd447c12c0 54 while (true) {
jasmou 0:3acd447c12c0 55 xbee.process_rx_frames();
jasmou 0:3acd447c12c0 56 wait_ms(100);
jasmou 0:3acd447c12c0 57 }
jasmou 0:3acd447c12c0 58 }