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.

Dependencies:   BufferedArray

Dependents:   MBEDminiproject

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ZigBeeExplicitTxRequest.cpp Source File

ZigBeeExplicitTxRequest.cpp

00001 #include "ZigBeeExplicitTxRequest.h"
00002 
00003 ZigBeeExplicitTxRequest::ZigBeeExplicitTxRequest(unsigned  char frameID, ExplicitAddress * remoteAddress, OptionsBase * transmitOptions, const unsigned char * payload, int offset, int length)
00004     : TxBase(18 + length, APIFrame::Explicit_Addressing_ZigBee_Command_Frame, frameID)
00005 {
00006     sets(remoteAddress->getAddressValue(), 0, 10);
00007     sets(remoteAddress->getExplicitValue(), 0, 6);
00008     set(0x00);
00009     set(transmitOptions->getValue());
00010     sets(payload, offset, length);
00011 }
00012 
00013 void ZigBeeExplicitTxRequest::setBroadcastRadius(unsigned  char broadcastRadius)
00014 {
00015     data[18] = broadcastRadius;
00016 }
00017 
00018 void ZigBeeExplicitTxRequest::setTransmitOptions(OptionsBase * transmitOptions)
00019 {
00020     data[19] = transmitOptions->getValue();
00021 }
00022 
00023 void ZigBeeExplicitTxRequest::setPayload(const unsigned char * data, int offset, int length)
00024 {
00025     setPosition(20);
00026     sets(data, offset, length);
00027 }
00028 
00029 void ZigBeeExplicitTxRequest::setRemoteAddress(Address * remoteAddress)
00030 {
00031     sets(2, remoteAddress->getAddressValue(), 0, 10);
00032 }
00033 
00034 void ZigBeeExplicitTxRequest::setRemoteAddress(ExplicitAddress * remoteAddress)
00035 {
00036     sets(2, remoteAddress->getAddressValue(), 0, 10);
00037     sets(12, remoteAddress->getExplicitValue(), 0, 6);
00038 }