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 "ZigBeeRxIndicator.h"
yangcq88517 0:837e6c48e90d 2
yangcq88517 0:837e6c48e90d 3 ZigBeeRxIndicator::ZigBeeRxIndicator(APIFrame * frame)
yangcq88517 0:837e6c48e90d 4 : RxBase(frame)
yangcq88517 0:837e6c48e90d 5 { }
yangcq88517 0:837e6c48e90d 6
yangcq88517 6:5f31ddc17239 7 unsigned char * ZigBeeRxIndicator::getReceivedData()
yangcq88517 0:837e6c48e90d 8 {
yangcq88517 0:837e6c48e90d 9 if (getReceivedDataLength() <= 0)
yangcq88517 0:837e6c48e90d 10 return NULL;
yangcq88517 0:837e6c48e90d 11
yangcq88517 0:837e6c48e90d 12 return data + 12;
yangcq88517 0:837e6c48e90d 13 }
yangcq88517 0:837e6c48e90d 14
yangcq88517 0:837e6c48e90d 15 int ZigBeeRxIndicator::getReceivedDataOffset()
yangcq88517 0:837e6c48e90d 16 {
yangcq88517 0:837e6c48e90d 17 return 12;
yangcq88517 0:837e6c48e90d 18 }
yangcq88517 0:837e6c48e90d 19
yangcq88517 0:837e6c48e90d 20 char ZigBeeRxIndicator::getReceivedData(int index)
yangcq88517 0:837e6c48e90d 21 {
yangcq88517 0:837e6c48e90d 22 return data[12 + index];
yangcq88517 0:837e6c48e90d 23 }
yangcq88517 0:837e6c48e90d 24
yangcq88517 0:837e6c48e90d 25 int ZigBeeRxIndicator::getReceivedDataLength()
yangcq88517 0:837e6c48e90d 26 {
yangcq88517 0:837e6c48e90d 27 return getPosition() - 12;
yangcq88517 0:837e6c48e90d 28 }
yangcq88517 0:837e6c48e90d 29
yangcq88517 0:837e6c48e90d 30 int ZigBeeRxIndicator::getReceiveStatus()
yangcq88517 0:837e6c48e90d 31 {
yangcq88517 0:837e6c48e90d 32 return data[11];
yangcq88517 0:837e6c48e90d 33 }
yangcq88517 0:837e6c48e90d 34
yangcq88517 0:837e6c48e90d 35 Address ZigBeeRxIndicator::getRemoteDevice()
yangcq88517 0:837e6c48e90d 36 {
yangcq88517 0:837e6c48e90d 37 return Address(data + 1);
yangcq88517 0:837e6c48e90d 38 }
yangcq88517 0:837e6c48e90d 39
yangcq88517 0:837e6c48e90d 40 int ZigBeeRxIndicator::getRSSI()
yangcq88517 0:837e6c48e90d 41 {
yangcq88517 0:837e6c48e90d 42 return 0;
yangcq88517 0:837e6c48e90d 43 }
yangcq88517 0:837e6c48e90d 44
yangcq88517 0:837e6c48e90d 45 bool ZigBeeRxIndicator::convert(APIFrame * frame)
yangcq88517 0:837e6c48e90d 46 {
yangcq88517 0:837e6c48e90d 47 if (frame == NULL)
yangcq88517 0:837e6c48e90d 48 return false;
yangcq88517 0:837e6c48e90d 49
yangcq88517 0:837e6c48e90d 50 if (frame->getFrameType() != APIFrame::ZigBee_Receive_Packet)
yangcq88517 0:837e6c48e90d 51 return false;
yangcq88517 0:837e6c48e90d 52
yangcq88517 0:837e6c48e90d 53 return APIFrame::convert(frame);
yangcq88517 0:837e6c48e90d 54 }