2021-05-27 06:43 AM
Hi,
I am building an android app to read mailbox with fastReadMailboxMessage() function. I have already had problems with that function and read somewhere on community.st that this function doesn't work and I should just use readMailboxMessage() instead.
So Question 1:
Does fastReadMailboxMessage() really not work on android java application?
Q2:
If I use readMailboxMessage() instead does it use the fast read or it's already a slower access? (slower than 53kbps)
I also encountered problems with hasHostPutMsg register read through RF. After a successful mailbox read with a phone (all bytes available) hasHostPutMsg register should go back to 0 but for me it stays 1 till I reset the MB. Why could it happen like this?
I send 250bytes of data through I2C once, then read with RF and HostPutMsg is still 1
I appreciate Your quick help!
Solved! Go to Solution.
2021-05-27 11:23 PM
Good! "true" is indeed needed otherwise you read the result from Cache.
Best regards!
2021-05-27 07:54 AM
Hi,
"Fast" functions are indeed not supported by the NFC controller present on Android phones. So this is indeed readMailboxMessage() that you should use. I confirm that it is slower than fastReadMailboxMessage(). The data rate of Type V NFC RF command is 26kbps.
Concerning HostPutMsg (bit 1 of register MB_CTRL_Dyn), it is automatically reset to 0 when RF has read the last byte of the mailbox. If you miss one or more bytes, it will remain to 1 because there are still some data to read. Maybe that it is the reason of you problem?
Regards
2021-05-27 08:51 AM
Thanks for a quick response!
I actually was missing "true" in the refresh field -> hasHostPutMsg(true);
Previously had false.
Best regards!
2021-05-27 11:23 PM
Good! "true" is indeed needed otherwise you read the result from Cache.
Best regards!