byte PN532::getAutoPollResponse(byte * respo) { // byte cnt; if (!getCommandResponse(respo)) return 0; if (respo[0]) { switch (respo[1]) { case Type_FeliCa212kb: targetSet(respo[1], respo + 3 + 3, 8); break; case Type_Mifare: targetSet(respo[1], respo + 3 + 5, respo[3 + 4]); break; } } else { targetClear(); } return respo[0]; }
OMStrongReferenceSet* OMWeakObjectReference::set(void) const { TRACE("OMWeakObjectReference::set"); if (_targetSet == 0) { OMWeakObjectReference* nonConstThis = const_cast<OMWeakObjectReference*>(this); nonConstThis->_targetSet = targetSet(_property, _targetTag); } POSTCONDITION("Valid result", _targetSet != 0); return _targetSet; }
byte PN532::getAutoPollResponse(void) { if (!getCommandResponse(packet)) { comm_status = RESP_FAILED; return 0; } comm_status = RESP_RECEIVED; // ignore the tag no. 2 or greater if ( packet[0] > 0 ) { // count // memcpy(respo, packet+3, packet[2]); // length switch (packet[1]) { // type case NFC::CARDTYPE_FELICA_212K: targetSet(NFC::CARDTYPE_FELICA_212K, packet+3+3, 8); //respo+3, 8); break; case NFC::CARDTYPE_MIFARE: targetSet(NFC::CARDTYPE_MIFARE, packet+3+5, packet[7]); //respo[4]); break; } } else { targetClear(); } return packet[2]; }