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

Can reading a GATT characteristic complete before a previously issued GATT write completes (when no response requested)

1. I am issuing a gatt characteristic (CHR1) write without the response requested from Central (BLUEPY/BLUEZ, Ubuntu 18)

2. Central than reads CHR2.

Is it possible that 2. could finish before 1. because 1. is issued w/o the response being required ?

For example, on CHR1 write, I'll modify CHR2, but I don't see that modification has happened when doing the read in 2. (I see an old value) leading me to believe that the ordering has changed.

I can't quite test the ordering on Nordic because:

   onDataRead() callback doesn't get invoked.

   CHR2->setReadAuthorizationCallback() will make the problem go away (in 2. I'll always see that 1. did modify CHR2) even if the callback is an empty function!

Parents Reply Children
No Data
Related