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:
Thu Oct 22 12:28:26 2015 +0000
Revision:
0:837e6c48e90d
Child:
6:5f31ddc17239
initial upload

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 0:837e6c48e90d 12 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 0:837e6c48e90d 27 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 0:837e6c48e90d 35 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 }