Hi,
in my current project we're designing a custom board acting as a Peripheral. Another company is designing an App (iOS & Android) acting as Central to control actions on our board.
According to the engineer designing the Android App, it isn't possible to use a MTU greater than 23 byte under Android. So I set the MTU in my design to that value. Now that we're using OTA upgrade functionality it takes around 11min to do a upgrade the firmware with these MTU settings. So there is the need to change the MTU to 512 byte which would reduce the update time drastically.
I did following test:
- Changing the MTU size to 512 byte.
- Disabled Write Long Characteristic support.
- Writing a characteristic with a size of 50 byte on iOS via CySmart App -> Write succeeded.
- Doing the same on Android -> Write succeeded.
That just confused me, because the engineer of the Android App said that this shouldn't work.
I did another test:
- Changing the MTU size to 23 byte.
- Disabled Write Long Characteristic support.
- Writing a characteristic with a size of 50 byte on iOS via CySmart App -> Write succeeded.
- Doing the same on Android-> Write succeeded.
That confused me way more. In my opinion that shouldn't be possible, because I disabled Write Long Support.
All that leads me to some questions:
- Is it possible to use a MTU size of 512 byte under Android?
- How is it possible that the CySmart could write characteristics with a size exceeding the MTU? How is that handled in the App?
Hope you can help me.
Best
Philipp