Hello
We do not have simple use case as you describe.
You have the “Data transfer�? feature on the application that enable to Send/Receive buffer from/to Host/Phone. This feature follows also the protocol (proprietary one) described in the following document.
Demo user manual: https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/4d/09/8b/42/28/3f/47/59/DM00288894/files/DM00288894.pdf/jcr:content/translations/en.DM00288894.pdf
We do not put in place basic read/write to MB like you request as this need also synchro with host side in order to be in a right situation. Host put a message so phone can read or MB is empty and RF put message and host is now able to read,…...etc...
The phone application do not have this kind of feature.
According to your requirements, on Phone side, you just need to check that host has write to the MB, then read message length then read the message with the following pseudo calls:
mST25DVTag.hasHostPutMsg(true)
if true {
int length = mST25DVTag.readMailboxMessageLength()
tmpBuffer = mST25DVTag.readMailboxMessage((byte) offset, size);
}
In file ST25DVTransferTask you have an example on function
private byte[] readMessage() throws STException
Warning: keep in mind you need to manage also the RX/TX RF available buffer size…..(see readMessage implementation)
Our Application do not allow to do basic Read or Write To/From MB. The result you have “Transfer failed" according to your context is a correct behavior of the application.
To summarize:
So i want to ask, if it is even possible to do this with this application? No (because application is built on top of a communication protocol including frame header, exchange protocol and content exchanged check) – Please see what is provided in term of source on both side, phone and host. Both must be aligned.
If yes, should i configure message header in other way? (I tried also with ftc = MB_H2RSIMPLETRANSFER): Message header is used by the protocol, refers to the “Demo user manual�? for more details.
Regards
FBE