I work on implementing a custom ISO 14443-3A protocol between ACR122U and AS3953. I want to send a frame when the tag is in ACTIVE state but not using ISO 14443-4.
So, using libnfc, are the following steps correct to send something to tag?
Environment: Win10, libnfc 1.6.0
nfc_init (NULL);
pnd = nfc_open (NULL, NULL);
nfc_initiator_init (pnd);
//set some properties
nfc_device_set_property_bool (pnd, NP_EASY_FRAMING, true);
nfc_device_set_property_bool (pnd, NP_AUTO_ISO14443_4, false);
//selecting target
nfc_initiator_list_passive_targets (pnd, nm, ant, MAX_TARGET_COUNT);
nfc_initiator_select_passive_target (pnd, nm, NULL, 0, &(ant[n]));
Does the tag enter ACTIVE state at this point?
Is transceiving based on ISO 14443-3 here?
nfc_initiator_transceive_bytes(pnd, TFrame, TFrameSize, RFrame, &RFrameSize, -1);
Then we halt the target.
//deselect
nfc_initiator_deselect_target(pnd);
nfc_close (pnd);
nfc_exit (NULL);
But reader and tag do not receive each other's data in this way.
Because both sides may contribute to communication failure, firstly I'd like to assure I send correct things in a correct way.