Hello,
I am using PN532 in P2P mode wherein the sequence of commands on initiator is like:
1. [Initiator] - InJumpForDep
2. [Initiator] - InDataExchange
On the Target side i have the flow
1. [Target] InitAsTarget
2. TargetRx - [TgGetData]
<Perform processing based on data received, (takes time t)>
3. TargetTx - [TgSetData]
Therefore when i give the InDataExchange command on Initiator, on target side it uses GetData, Process, SetData.
Now then, TgSetData is returning error status as 0x29 - Target released by initiator.
I have observed that when the processing time t is small the status is OK but when t is large
the status is 0x29. Given that i have not procedurally released the target using InRelease, is there
some timeout setting that i am missing ?
According to the data sheet the S(TO)REQ/RES is managed by PN532. I've set the CFgItem02 & 0x05 using RFConfiguration commands to maximum timeout values but then they are only associated with InJumpForDEP/ATR_REQ/RES
So the question is, is there a timeout value associated with InDataExchange ?
Solved! Go to Solution.
Hello Rishi Franklin:
Have you measured the difference in time for successful and failed transfers?
The timeout extension request is indeed handled by the PN532 as target, but by default it sends a request for a maximum of 1.078s. See the manual:
Then the target should send a response before that time elapses.
Best Regards!,
Jorge Gonzalez
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks Jorge, i figured i was setting the 1 sec timeout on target side instead on the initiator cfg registers......
Hello Rishi Franklin:
Have you measured the difference in time for successful and failed transfers?
The timeout extension request is indeed handled by the PN532 as target, but by default it sends a request for a maximum of 1.078s. See the manual:
Then the target should send a response before that time elapses.
Best Regards!,
Jorge Gonzalez
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------