I realise this question must have been asked a thousand times, but the more answers I read, the more confused I am!
I am looking to transfer 7kb of data occasionally (maybe once every hour) from an Android phone to an NRF52840. From my research it seems the logical way of doing this is to opt for the maximum MTU value the NRF52 supports (512 bytes) and transfer the 14 packets before reassembling them into the single large buffer on the NRF52.
I have tried increasing the MTU size up to 512, but this resulted in some of the notifications being sent to the Android phone (these notifications are completely unrelated to the 7kb transfer) being dropped - purely as a result of increasing the MTU size on the NRF52 and the phone asking for the higher MTU size (I didn't even transfer any data over 20 bytes during this test).
I don't mind the 7kb transfer taking a few seconds, so if the data is transferred in 20 byte chunks that is fine.
It seems there are 2/3 options, but all the research of existing questions is confusing me.
Long write - I have read that the max for a long write is ~512bytes?
Reliable write - I have read that there is also a 512 byte limit and there is a lot of overhead in this operation, so not the best way of doing this.
Queued write - I have seen the queued write module in the SDK, is this for Long/Reliable writes, or something completely different? Are there any byte transfer limits for this?
NRF52840, SDK 15.2