XBee and XBee-PRO ZigBee RF modules provide cost-effective wireless connectivity to electronic devices. They are interoperable with other ZigBee PRO feature set devices, including devices from other vendors.
Diff: Request/ZigBeeExplicitTxRequest.cpp
- Revision:
- 0:837e6c48e90d
- Child:
- 6:5f31ddc17239
diff -r 000000000000 -r 837e6c48e90d Request/ZigBeeExplicitTxRequest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Request/ZigBeeExplicitTxRequest.cpp Thu Oct 22 12:28:26 2015 +0000 @@ -0,0 +1,38 @@ +#include "ZigBeeExplicitTxRequest.h" + +ZigBeeExplicitTxRequest::ZigBeeExplicitTxRequest(char frameID, ExplicitAddress * remoteAddress, OptionsBase * transmitOptions, const char * payload, int offset, int length) + : TxBase(18 + length, APIFrame::Explicit_Addressing_ZigBee_Command_Frame, frameID) +{ + sets(remoteAddress->getAddressValue(), 0, 10); + sets(remoteAddress->getExplicitValue(), 0, 6); + set(0x00); + set(transmitOptions->getValue()); + sets(payload, offset, length); +} + +void ZigBeeExplicitTxRequest::setBroadcastRadius(char broadcastRadius) +{ + data[18] = broadcastRadius; +} + +void ZigBeeExplicitTxRequest::setTransmitOptions(OptionsBase * transmitOptions) +{ + data[19] = transmitOptions->getValue(); +} + +void ZigBeeExplicitTxRequest::setPayload(const char * data, int offset, int length) +{ + setPosition(20); + sets(data, offset, length); +} + +void ZigBeeExplicitTxRequest::setRemoteAddress(Address * remoteAddress) +{ + sets(2, remoteAddress->getAddressValue(), 0, 10); +} + +void ZigBeeExplicitTxRequest::setRemoteAddress(ExplicitAddress * remoteAddress) +{ + sets(2, remoteAddress->getAddressValue(), 0, 10); + sets(12, remoteAddress->getExplicitValue(), 0, 6); +} \ No newline at end of file