Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of XBEE by
XBEE.cpp
00001 #include "XBEE.h" 00002 #include <string> 00003 #include "SwitchCase.h" 00004 00005 00006 00007 XBEE::XBEE(Serial* SerialAddress) 00008 { 00009 //Serial fish3(PTC17, PTC16); 00010 cBuffer = new CBuffer(SerialAddress); 00011 xbeeSerial = SerialAddress; 00012 00013 } 00014 00015 bool XBEE::scanForStartBytes() 00016 { 00017 startBytes[0] = 0; 00018 startBytes[1] = 0; 00019 startBytes[2] = 0; 00020 00021 while(startBytes[0] != STARTBYTE0) 00022 { 00023 if(cBuffer->available() <=0){return false;} 00024 startBytes[0] = cBuffer->read(); 00025 } 00026 if(cBuffer->available() <=0){return false;} 00027 startBytes[1] = cBuffer->read(); 00028 if(startBytes[1] == STARTBYTE1) 00029 { 00030 if(cBuffer->available() <=0){return false;} 00031 startBytes[2] = cBuffer->read(); 00032 } 00033 00034 if( (startBytes[0] != STARTBYTE0) || (startBytes[1] != STARTBYTE1) || (startBytes[2] != STARTBYTE2)){return false;} 00035 return true; 00036 } 00037 00038 00039 void XBEE::checkForCommand() 00040 { 00041 while(cBuffer->available() > 0) 00042 { 00043 if(scanForStartBytes() && (cBuffer->available() > 0)) 00044 { 00045 00046 switchCase(cBuffer->read()); 00047 00048 } 00049 00050 00051 00052 } 00053 00054 } 00055 00056 void XBEE::sendCommand(const char* info) 00057 { 00058 xbeeSerial->putc(STARTBYTE0); 00059 xbeeSerial->putc(STARTBYTE1); 00060 xbeeSerial->putc(STARTBYTE2); 00061 xbeeSerial->putc(STATUSSTRING); 00062 xbeeSerial->printf(info); 00063 } 00064 void XBEE::sendCommand(int info) 00065 { 00066 xbeeSerial->putc(STARTBYTE0); 00067 xbeeSerial->putc(STARTBYTE1); 00068 xbeeSerial->putc(STARTBYTE2); 00069 xbeeSerial->putc(STATUSSTRING); 00070 xbeeSerial->printf("%d",info); 00071 } 00072 00073 void XBEE::sendCommand(float info) 00074 { 00075 xbeeSerial->putc(STARTBYTE0); 00076 xbeeSerial->putc(STARTBYTE1); 00077 xbeeSerial->putc(STARTBYTE2); 00078 xbeeSerial->putc(STATUSSTRING); 00079 xbeeSerial->printf("%f",info); 00080 } 00081 00082 void XBEE::sendCommand(double info) 00083 { 00084 xbeeSerial->putc(STARTBYTE0); 00085 xbeeSerial->putc(STARTBYTE1); 00086 xbeeSerial->putc(STARTBYTE2); 00087 xbeeSerial->putc(STATUSSTRING); 00088 xbeeSerial->printf("%f",info); 00089 } 00090 void XBEE::sendCommand(char command, int sizeOfPayload,char payload[]) 00091 { 00092 xbeeSerial->putc(STARTBYTE0); 00093 xbeeSerial->putc(STARTBYTE1); 00094 xbeeSerial->putc(STARTBYTE2); 00095 xbeeSerial->putc(command); 00096 for(int i=0; i<sizeOfPayload; i++) 00097 { 00098 xbeeSerial->putc(payload[i]); 00099 } 00100 00101 } 00102 void XBEE::sendCommand(char command) 00103 { 00104 xbeeSerial->putc(STARTBYTE0); 00105 xbeeSerial->putc(STARTBYTE1); 00106 xbeeSerial->putc(STARTBYTE2); 00107 xbeeSerial->putc(command); 00108 } 00109 00110 void XBEE::test() 00111 { 00112 00113 if(cBuffer->available()){xbeeSerial->printf("Receiving The Following Data:\n\r");} 00114 while(cBuffer->available() > 0){xbeeSerial->putc(cBuffer->read());} 00115 //xbeeSerial->putc('A'); 00116 00117 00118 00119 }
Generated on Tue Jul 19 2022 22:36:59 by
