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

Write command and Notification in the same channel

Dear Nordic Developers,

I'm trying to write some data to a slave and when the slave gets the write command sends back a notification. My problem is that I send the write command in one radio channel (for example channle 35) but I get the notification on the next radio channel (channel 3). Is it possible to get the notification on the same channel (channel 35)?

Bellow you can see the results from the wireshark.

3990 113.087487000 Master Slave ATT 34 Rcvd Write Command, Handle: 0x000e

3991 113.089248000 Slave Master LE LL 26 Empty PDU

3992 113.141960000 Master Slave LE LL 26 Empty PDU

3993 113.143982000 Slave Master ATT 34 Rcvd Handle Value Notification, Handle: 0x000b wireshark_trac_file.pcapng Lines 3990 and 3991 are using channel 35 and the other 2 lines (3992 and 3993) are using channel 3. Is it possible increase the time between the lines 3991 and 3990? Please have a look to a attached wireshark trace file.

Any advice would be highly appreciated.

Thanks, Gor

Parents
  • I believe Nathan gave the answer pretty nicely:

    • BLE spec allows you to do Write and Notify over the same GATT handle (Characteristic) within the same Connection event (one or several pairs of packets exchanged over the same frequency channel).
    • Nordic's stacks allows you to use this BLE feature as well...
    • ...but your app must keep timing of the BLE connection which is very strict (there are only 150us between Tx and Rx windows) so I doubt you would be able to receive something from central side, process it and prepare Event Notification Tx data to the SoftDevice within that short window to send it out within same Connection Event.
    • However if you have two independent data streams it should be possible to run them in parallel from both sides and effectively "share" Connection Evenets.

    Cheers Jan

Reply
  • I believe Nathan gave the answer pretty nicely:

    • BLE spec allows you to do Write and Notify over the same GATT handle (Characteristic) within the same Connection event (one or several pairs of packets exchanged over the same frequency channel).
    • Nordic's stacks allows you to use this BLE feature as well...
    • ...but your app must keep timing of the BLE connection which is very strict (there are only 150us between Tx and Rx windows) so I doubt you would be able to receive something from central side, process it and prepare Event Notification Tx data to the SoftDevice within that short window to send it out within same Connection Event.
    • However if you have two independent data streams it should be possible to run them in parallel from both sides and effectively "share" Connection Evenets.

    Cheers Jan

Children
Related