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
- Committer:
- pspatel321
- Date:
- 2015-01-06
- Revision:
- 33:6bc82b6b62e5
- Child:
- 34:18bcf276d3bf
File content as of revision 33:6bc82b6b62e5:
#include "XbeeManager.h"
XbeeManager::XbeeManager(CANxbee* _x1, CANxbee* _x2)
{
x1 = _x1;
x2 = _x2;
alternate = false;
extraAvail = false;
counterX1in = 0;
counterX2in = 0;
counterX1out = 0;
counterX2out = 0;
}
bool XbeeManager::send(CANMessage &msg)
{
alternate = !alternate;
if (alternate) {
if (x1->send(msg)) {
counterX1out++;
return true;
}
} else {
if (x2->send(msg)) {
counterX2out++;
return true;
}
}
return false;
}
bool XbeeManager::receive(CANMessage &msg)
{
if (extraAvail) {
extraAvail = false;
memcpy((void*)&msg, (void*)&extra, sizeof(CANMessage));
counterX2in++;
return true;
}
if (x1->receive(msg)) {
if (x2->receive(extra)) {
extraAvail = true;
}
counterX1in++;
return true;
} else {
if (x2->receive(msg)) {
counterX2in++;
return true;
}
}
return false;
}
