// rxPacket - Function to read the frame received.
void XBeeLib::rxPacket()
{
	int index;
	
	int size;
	int length;
	int payloadPosition;
	
	if(getCoordinatorEnabled() == 1){
		size = 8;
		length = 22;
		payloadPosition = 14;
	}
	else{
		size = 1;
		length = 9;
		payloadPosition = 8;
	}
	
	clearReceived();
	char frame[size];
	index = 0;
	
	if(Serial.available() > length){
		Serial.println();
		for(int i = 0; i <= length; i++){
			if((i >= payloadPosition) && (i < length)){
				frame[index] = Serial.read();
				addReceived((String)((char)frame[index]));
				Serial.print(frame[index], HEX);
				Serial.print(" ");
				index++;			
			}
			else{
			    Serial.print(Serial.read(), HEX);
			    Serial.print(" ");
			}
		}
		
	    Serial.print("\n<<< ");
		Serial.println(getReceived());
		
		if(getCoordinatorEnabled() == 0){
		    if(getReceived() == "r"){
		      //setConfigure();
		    }
		    if(getReceived() == "s"){
		      //setSleepMode();
		    }
		    if(getReceived() == "t"){
				setPayload(getStatus());
				txRequest(getPayloadAddress());
		    }
		}
	}
}
Beispiel #2
0
void InbRes<&yajr::rpc::method::echo>::process() const {

    LOG(INFO) << "Got echo reply at " << getReceived();

}