This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE Long write

My Setup: Nordic is the Server, Android is the client.

I have read many, many forum posts about doing long reads/writes. Virtually everyone says you cannot do long writes. Instead you have to do a sequence of 20 byte writes.
devzone.nordicsemi.com/.../

I've also looked into Android API, and found that they do long read under the hood but do not support long write. I can only send 20 byte at a time. This is just what the forum posts have said.

HOWEVER, what I don't understand is how Noric Master Control Panel successfully executes long write. I can load up a 50 byte message and pass it over the Android App version of MCP. Is there something utilized in the MCP that I have missed, or cannot get access to in Android?

I cannot believe there is no way to write large streams of data from a phone to a BLE chip. It must be that I've missed something.

Thanks for your help!

Parents
  • I also had a custom service and characteristic i was communicated with. I don't know that it was a long write, but I entered 50 bytes in a row and saw them all go through. Its possible that was the prepareReliable and writeReliable with offsetting mentioned elsewhere. At this point i installed handshake characteristics, saying the buffer is cleared, write some more. that way its just a FSM sending and rx'ing. its less ideal, but a temporary work around.

Reply
  • I also had a custom service and characteristic i was communicated with. I don't know that it was a long write, but I entered 50 bytes in a row and saw them all go through. Its possible that was the prepareReliable and writeReliable with offsetting mentioned elsewhere. At this point i installed handshake characteristics, saying the buffer is cleared, write some more. that way its just a FSM sending and rx'ing. its less ideal, but a temporary work around.

Children
No Data
Related