Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-130938

Bluetooth low energy does not support callbacks for write without response

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.8.0
    • None

    Description

      The documentation states that write without response can be used to send and won't generate a response from the remote device thus won't give you any sort of notification. From a protocol perspective this is complete tripe, the write is acknowledged at the radio layer, the application layer does not need to confirm it as with write requests.

      The qt bluez file has this:

              ATT_OP_WRITE_REQUEST               = 0x12, //write characteristic with response
              ATT_OP_WRITE_RESPONSE              = 0x13,
              ATT_OP_PREPARE_WRITE_REQUEST       = 0x16, //write values longer than MTU-3 -> queueing
              ATT_OP_PREPARE_WRITE_RESPONSE      = 0x17, 

      Presumably, 0x14 and 0x15 are the exact numbers that are needed for this.

      The problem is that Qt provides absolutely no way to know when you can send more data i.e. the send queue is empty which every other device/SDK does provide, so you never know when to send more data. Ideally a signal should be raised when the send queue is empty, because it's write without response you don't know if the other side was able to deal with all the written data, and frankly you don't care, you just care that the radio received the data, and that is a fundamental BLE feature.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ablasche Alex Blasche
            thedjnk Mr nK
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes