jasmin desilets
/
ProjetReceiver
code for the receiver
main.cpp@0:3acd447c12c0, 2016-03-31 (annotated)
- Committer:
- jasmou
- Date:
- Thu Mar 31 15:11:03 2016 +0000
- Revision:
- 0:3acd447c12c0
code for the receiver
Who changed what in which revision?
User | Revision | Line number | New 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 | } |