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:
4:a0f1fba6c2fb
initial upload

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:837e6c48e90d 1 #include "Pin.h"
yangcq88517 0:837e6c48e90d 2
yangcq88517 0:837e6c48e90d 3 char Pin::bitfield[2] = {0,0};
yangcq88517 0:837e6c48e90d 4
yangcq88517 0:837e6c48e90d 5 Pin::Pin(char number)
yangcq88517 0:837e6c48e90d 6 {
yangcq88517 0:837e6c48e90d 7 num = number;
yangcq88517 0:837e6c48e90d 8 }
yangcq88517 0:837e6c48e90d 9
yangcq88517 0:837e6c48e90d 10 Pin::Pin(char number, char msbCom, char lsbCom, char msbIODet, char lsbIODet)
yangcq88517 0:837e6c48e90d 11 {
yangcq88517 0:837e6c48e90d 12 num = number;
yangcq88517 0:837e6c48e90d 13 com[0] = msbCom;
yangcq88517 0:837e6c48e90d 14 com[1] = lsbCom;
yangcq88517 0:837e6c48e90d 15 IODet[0] = msbIODet;
yangcq88517 0:837e6c48e90d 16 IODet[1] = lsbIODet;
yangcq88517 0:837e6c48e90d 17 }
yangcq88517 0:837e6c48e90d 18
yangcq88517 0:837e6c48e90d 19 char Pin::getNumber()
yangcq88517 0:837e6c48e90d 20 {
yangcq88517 0:837e6c48e90d 21 return num;
yangcq88517 0:837e6c48e90d 22 }
yangcq88517 0:837e6c48e90d 23
yangcq88517 0:837e6c48e90d 24 char* Pin::getCommand()
yangcq88517 0:837e6c48e90d 25 {
yangcq88517 0:837e6c48e90d 26 return com;
yangcq88517 0:837e6c48e90d 27 }
yangcq88517 0:837e6c48e90d 28
yangcq88517 0:837e6c48e90d 29 char* Pin::IOChangeDetectionConfiguration(const Pin *Pins, char Length)
yangcq88517 0:837e6c48e90d 30 {
yangcq88517 0:837e6c48e90d 31 Pin::bitfield[0] = 0;
yangcq88517 0:837e6c48e90d 32 Pin::bitfield[1] = 0;
yangcq88517 0:837e6c48e90d 33 for (const Pin *i = Pins; i< Pins + Length; i++) {
yangcq88517 0:837e6c48e90d 34 Pin::bitfield[0] |= i->IODet[0];
yangcq88517 0:837e6c48e90d 35 Pin::bitfield[1] |= i->IODet[1];
yangcq88517 0:837e6c48e90d 36 }
yangcq88517 0:837e6c48e90d 37 return Pin::bitfield;
yangcq88517 0:837e6c48e90d 38 }
yangcq88517 0:837e6c48e90d 39
yangcq88517 0:837e6c48e90d 40 char* Pin::getIODetection()
yangcq88517 0:837e6c48e90d 41 {
yangcq88517 0:837e6c48e90d 42 return IODet;
yangcq88517 0:837e6c48e90d 43 }
yangcq88517 0:837e6c48e90d 44
yangcq88517 0:837e6c48e90d 45 bool operator <(const Pin &a,const Pin &b)
yangcq88517 0:837e6c48e90d 46 {
yangcq88517 0:837e6c48e90d 47 return a.num < b.num;
yangcq88517 0:837e6c48e90d 48 }