void loop(){

  char tagString[13];
  
  getRFIDTagName(tagString);
  
  validRFID = checkTag(tagString); //Check if it is a match

  // turn on green LED if valid RFID
  setTrainLed(validRFID);

  clearTag(tagString); //Clear the char of all value
  resetReader(); //eset the RFID reader
}
Ejemplo n.º 2
0
void TagWatcher::checkTag(){
   String content = "";
  while(Serial1.available() > 0){
    
    char incomingByte = Serial1.read();
    //Serial.print(incomingByte);
    if ( incomingByte > 47) { 
      //Exclude everything before the numbers start. This will filter out irrelevant data coming from the reader.
      //See http://arduino.cc/en/Reference/ASCIIchart for reference.
      
      content.concat(incomingByte);
    }
  }  
  if ( content != _previousContent ) {
    //See if the value we've read this time is different.
    //If it is, that means there was a change.
    
    int contentLength = content.length();
    
    if ( contentLength == 12 ) {
      //Make sure we have a proper length tag. If so, broadcast it!
       if (_tagChangeFunc) _tagChangeFunc( content );
      
    } else if (contentLength == 0 ) {
      //If the length is different, that means there is no longer a tag present.
       if (_tagChangeFunc) _tagChangeFunc( "NONE" );
       
    } else {
      Serial.println(content);
       //Do nothing, as we don't have a proper tag value. 
    }

  }
  
  _previousContent = content;
  
  resetReader();
} // OneButton.tick()
Ejemplo n.º 3
0
PacketSerializer::PacketSerializer(size_t n): 
	buff_len(n) {
	base_ptr = allocator.allocate(n);
	resetReader();
	resetWriter();
}