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

Request/ZigBeeExplicitTxRequest.cpp

Committer:
yangcq88517
Date:
2015-11-14
Revision:
6:5f31ddc17239
Parent:
0:837e6c48e90d

File content as of revision 6:5f31ddc17239:

#include "ZigBeeExplicitTxRequest.h"

ZigBeeExplicitTxRequest::ZigBeeExplicitTxRequest(unsigned  char frameID, ExplicitAddress * remoteAddress, OptionsBase * transmitOptions, const unsigned 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(unsigned  char broadcastRadius)
{
    data[18] = broadcastRadius;
}

void ZigBeeExplicitTxRequest::setTransmitOptions(OptionsBase * transmitOptions)
{
    data[19] = transmitOptions->getValue();
}

void ZigBeeExplicitTxRequest::setPayload(const unsigned 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);
}