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 }
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()
PacketSerializer::PacketSerializer(size_t n): buff_len(n) { base_ptr = allocator.allocate(n); resetReader(); resetWriter(); }