2021-01-14 08:00 AM
Hi,
I am working on a project with a STM32 + ST25DV NFC tag + mobile app, I developed a bootloader that receives the new binary through FTM and it works well with the app we are developing (using the transceive API from Android), but we are having trouble making it work on IOS, the person that was developing the app does not have any experience with swift and the app is being developed in Flutter, using a plugin to translate the actions to native API (like the transceive), it is partially working but with some annoying limitations:
I saw in the IOS version of the ST25 app that it allows the fw update demo, but I don't have the NFC demo kit now (we used only NFC04 and nucleo64 boards for development), I also searched online for a video showing how the IOS version of the app behaves during the fw update demo, but could not find...
And I tried inspecting the IOS ST25 source code, but, as I said, no one here has any experience with swift and I could not understand how things are done there..
So here are my questions:
Thanks
Gustavo
Solved! Go to Solution.
2021-03-09 06:34 AM
Hi gustavo,
Sorry for my late reply...I just have been notified ...
Regarding your questions :
If you have a look into ST25DVFirmwareUpdateViewController.swift file, line 571, we handles the Timeout session as follow :
"if errorNFC.code == NFCReaderError.readerSessionInvalidationErrorSessionTimeout {
// session Timeout detected
// restart a session to continu
DispatchQueue.main.sync {
transfertOnGoingAlert()
}
if (mTaskToDo == .startTransfer || mTaskToDo == .resume ) {
mTransferTask?.pause()
self.miOSReaderSession = iOSReaderSession(atagReaderSessionViewControllerDelegate: self)
continuTransferSession()
}
}
"
For information :
in iOS NFC Tap application, FW update uses 3 files :
Hope all these information help you.
Thx and br,
2021-03-09 06:34 AM
Hi gustavo,
Sorry for my late reply...I just have been notified ...
Regarding your questions :
If you have a look into ST25DVFirmwareUpdateViewController.swift file, line 571, we handles the Timeout session as follow :
"if errorNFC.code == NFCReaderError.readerSessionInvalidationErrorSessionTimeout {
// session Timeout detected
// restart a session to continu
DispatchQueue.main.sync {
transfertOnGoingAlert()
}
if (mTaskToDo == .startTransfer || mTaskToDo == .resume ) {
mTransferTask?.pause()
self.miOSReaderSession = iOSReaderSession(atagReaderSessionViewControllerDelegate: self)
continuTransferSession()
}
}
"
For information :
in iOS NFC Tap application, FW update uses 3 files :
Hope all these information help you.
Thx and br,
2021-03-11 05:40 AM
Hi Victor,
Thank you for the comprehensive answer!
It gives a pretty good overview of the process and where to look, the piece of code that you pointed out shows exactly how it deals with the timeout :thumbs_up:
Could you please attach the JAVA file used to translate into ObjectiveC?
We will jump again into this development soon, all this information will help a lot
Thanks!
2021-03-11 06:11 AM
2021-03-11 06:48 AM
Thanks!
BR
Gustavo