Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed CANBuffer Watchdog MODSERIAL mbed-rtos xbeeRelay IAP
Fork of SystemManagement by
Libs/XbeeManager/XbeeManager.cpp@38:8efacce315ae, 2015-02-07 (annotated)
- Committer:
- pspatel321
- Date:
- Sat Feb 07 08:54:51 2015 +0000
- Revision:
- 38:8efacce315ae
- Parent:
- 34:18bcf276d3bf
Updated with profiles, operating info, etc. Just like the other programs. Awaiting test in car.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| pspatel321 | 33:6bc82b6b62e5 | 1 | #include "XbeeManager.h" |
| pspatel321 | 33:6bc82b6b62e5 | 2 | |
| pspatel321 | 34:18bcf276d3bf | 3 | XbeeManager::XbeeManager(PinName tx1, PinName rx1, PinName tx2, PinName rx2, int baud, int txSize, int rxSize) : |
| pspatel321 | 34:18bcf276d3bf | 4 | x1(tx1, rx1, baud, txSize, rxSize), x2(tx2, rx2, baud, txSize, rxSize) |
| pspatel321 | 33:6bc82b6b62e5 | 5 | { |
| pspatel321 | 33:6bc82b6b62e5 | 6 | alternate = false; |
| pspatel321 | 33:6bc82b6b62e5 | 7 | extraAvail = false; |
| pspatel321 | 33:6bc82b6b62e5 | 8 | counterX1in = 0; |
| pspatel321 | 33:6bc82b6b62e5 | 9 | counterX2in = 0; |
| pspatel321 | 33:6bc82b6b62e5 | 10 | counterX1out = 0; |
| pspatel321 | 33:6bc82b6b62e5 | 11 | counterX2out = 0; |
| pspatel321 | 38:8efacce315ae | 12 | bytesX1out = 0; |
| pspatel321 | 38:8efacce315ae | 13 | bytesX2out = 0; |
| pspatel321 | 33:6bc82b6b62e5 | 14 | } |
| pspatel321 | 33:6bc82b6b62e5 | 15 | |
| pspatel321 | 33:6bc82b6b62e5 | 16 | bool XbeeManager::send(CANMessage &msg) |
| pspatel321 | 33:6bc82b6b62e5 | 17 | { |
| pspatel321 | 33:6bc82b6b62e5 | 18 | alternate = !alternate; |
| pspatel321 | 38:8efacce315ae | 19 | unsigned int length; |
| pspatel321 | 33:6bc82b6b62e5 | 20 | if (alternate) { |
| pspatel321 | 38:8efacce315ae | 21 | if (x1.send(msg, &length)) { |
| pspatel321 | 33:6bc82b6b62e5 | 22 | counterX1out++; |
| pspatel321 | 38:8efacce315ae | 23 | bytesX1out += length; |
| pspatel321 | 33:6bc82b6b62e5 | 24 | return true; |
| pspatel321 | 33:6bc82b6b62e5 | 25 | } |
| pspatel321 | 33:6bc82b6b62e5 | 26 | } else { |
| pspatel321 | 38:8efacce315ae | 27 | if (x2.send(msg, &length)) { |
| pspatel321 | 33:6bc82b6b62e5 | 28 | counterX2out++; |
| pspatel321 | 38:8efacce315ae | 29 | bytesX2out += length; |
| pspatel321 | 38:8efacce315ae | 30 | return true; |
| pspatel321 | 33:6bc82b6b62e5 | 31 | } |
| pspatel321 | 33:6bc82b6b62e5 | 32 | } |
| pspatel321 | 33:6bc82b6b62e5 | 33 | return false; |
| pspatel321 | 33:6bc82b6b62e5 | 34 | } |
| pspatel321 | 33:6bc82b6b62e5 | 35 | |
| pspatel321 | 33:6bc82b6b62e5 | 36 | bool XbeeManager::receive(CANMessage &msg) |
| pspatel321 | 33:6bc82b6b62e5 | 37 | { |
| pspatel321 | 33:6bc82b6b62e5 | 38 | if (extraAvail) { |
| pspatel321 | 33:6bc82b6b62e5 | 39 | extraAvail = false; |
| pspatel321 | 33:6bc82b6b62e5 | 40 | memcpy((void*)&msg, (void*)&extra, sizeof(CANMessage)); |
| pspatel321 | 33:6bc82b6b62e5 | 41 | counterX2in++; |
| pspatel321 | 33:6bc82b6b62e5 | 42 | return true; |
| pspatel321 | 33:6bc82b6b62e5 | 43 | } |
| pspatel321 | 34:18bcf276d3bf | 44 | if (x1.receive(msg)) { |
| pspatel321 | 34:18bcf276d3bf | 45 | if (x2.receive(extra)) { |
| pspatel321 | 33:6bc82b6b62e5 | 46 | extraAvail = true; |
| pspatel321 | 33:6bc82b6b62e5 | 47 | } |
| pspatel321 | 33:6bc82b6b62e5 | 48 | counterX1in++; |
| pspatel321 | 33:6bc82b6b62e5 | 49 | return true; |
| pspatel321 | 33:6bc82b6b62e5 | 50 | } else { |
| pspatel321 | 34:18bcf276d3bf | 51 | if (x2.receive(msg)) { |
| pspatel321 | 33:6bc82b6b62e5 | 52 | counterX2in++; |
| pspatel321 | 33:6bc82b6b62e5 | 53 | return true; |
| pspatel321 | 33:6bc82b6b62e5 | 54 | } |
| pspatel321 | 33:6bc82b6b62e5 | 55 | } |
| pspatel321 | 33:6bc82b6b62e5 | 56 | return false; |
| pspatel321 | 33:6bc82b6b62e5 | 57 | } |
