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

Committer:
yangcq88517
Date:
Sat Nov 14 16:42:36 2015 +0000
Revision:
6:5f31ddc17239
Parent:
0:837e6c48e90d
change to unsigned char array

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:837e6c48e90d 1 #include "RemoteCommandIndicator.h"
yangcq88517 0:837e6c48e90d 2
yangcq88517 0:837e6c48e90d 3 RemoteCommandIndicator::RemoteCommandIndicator(APIFrame * frame)
yangcq88517 0:837e6c48e90d 4 : RxBase(frame)
yangcq88517 0:837e6c48e90d 5 {}
yangcq88517 0:837e6c48e90d 6
yangcq88517 0:837e6c48e90d 7 int RemoteCommandIndicator::getFrameID()
yangcq88517 0:837e6c48e90d 8 {
yangcq88517 0:837e6c48e90d 9 return data[1];
yangcq88517 0:837e6c48e90d 10 }
yangcq88517 0:837e6c48e90d 11
yangcq88517 6:5f31ddc17239 12 unsigned char * RemoteCommandIndicator::getRequestCommand()
yangcq88517 0:837e6c48e90d 13 {
yangcq88517 0:837e6c48e90d 14 return data + 12;
yangcq88517 0:837e6c48e90d 15 }
yangcq88517 0:837e6c48e90d 16
yangcq88517 0:837e6c48e90d 17 int RemoteCommandIndicator::getCommandStatus()
yangcq88517 0:837e6c48e90d 18 {
yangcq88517 0:837e6c48e90d 19 return data[14];
yangcq88517 0:837e6c48e90d 20 }
yangcq88517 0:837e6c48e90d 21
yangcq88517 0:837e6c48e90d 22 Address RemoteCommandIndicator::getRemoteDevice()
yangcq88517 0:837e6c48e90d 23 {
yangcq88517 0:837e6c48e90d 24 return Address(data + 2);
yangcq88517 0:837e6c48e90d 25 }
yangcq88517 0:837e6c48e90d 26
yangcq88517 6:5f31ddc17239 27 unsigned char * RemoteCommandIndicator::getParameter()
yangcq88517 0:837e6c48e90d 28 {
yangcq88517 0:837e6c48e90d 29 if (getParameterLength() <= 0)
yangcq88517 0:837e6c48e90d 30 return NULL;
yangcq88517 0:837e6c48e90d 31
yangcq88517 0:837e6c48e90d 32 return data + 15;
yangcq88517 0:837e6c48e90d 33 }
yangcq88517 0:837e6c48e90d 34
yangcq88517 6:5f31ddc17239 35 unsigned char RemoteCommandIndicator::getParameter(int index)
yangcq88517 0:837e6c48e90d 36 {
yangcq88517 0:837e6c48e90d 37 return data[15 + index];
yangcq88517 0:837e6c48e90d 38 }
yangcq88517 0:837e6c48e90d 39
yangcq88517 0:837e6c48e90d 40 int RemoteCommandIndicator::getParameterLength()
yangcq88517 0:837e6c48e90d 41 {
yangcq88517 0:837e6c48e90d 42 return getPosition() - 15;
yangcq88517 0:837e6c48e90d 43 }
yangcq88517 0:837e6c48e90d 44
yangcq88517 0:837e6c48e90d 45 int RemoteCommandIndicator::getParameterOffset()
yangcq88517 0:837e6c48e90d 46 {
yangcq88517 0:837e6c48e90d 47 return 15;
yangcq88517 0:837e6c48e90d 48 }
yangcq88517 0:837e6c48e90d 49
yangcq88517 0:837e6c48e90d 50 bool RemoteCommandIndicator::convert(APIFrame * frame)
yangcq88517 0:837e6c48e90d 51 {
yangcq88517 0:837e6c48e90d 52 if (frame == NULL)
yangcq88517 0:837e6c48e90d 53 return false;
yangcq88517 0:837e6c48e90d 54
yangcq88517 0:837e6c48e90d 55 if (frame->getFrameType() != APIFrame::Remote_Command_Response)
yangcq88517 0:837e6c48e90d 56 return false;
yangcq88517 0:837e6c48e90d 57
yangcq88517 0:837e6c48e90d 58 return APIFrame::convert(frame);
yangcq88517 0:837e6c48e90d 59 }