Recent Posts

Pages: 1 ... 3 4 [5] 6 7 ... 10
41
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by Mike Petrichenko on May 06, 2022, 02:14:32 AM »
Unfortunately we did not develop MS Bluetooth drivers and can't control how it works internally. All we can do is try to find a way (if possible) to change connection parameters for the GATT server. However, to be able to change connection parameter it is required to get some internal LEDevice object. That is possible only after device subscribed for changes notifications. Because there is no other way to get connected devices list for GATT server.
42
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by exsurgo_ankit on May 06, 2022, 02:05:09 AM »
Hello Mike,

Agree with Windows not being RTOS as well. I am just trying to point out that there is a delay which can't be explained fully.

It could be either the inability to use the Data Length Extensions on the write, causing the packet tx be split into smaller chunks of 20 bytes.

Or some other issue causing this delay.

I tried writing 220 bytes and it took 53 milii seconds. This means I am able to double data without a huge impact of the write function time delay.

Please investigate at your end, why Notify takes this long and whether changing connection parameters in windows 11 reduces this delay to something negligible, which is what we observe as a GATT client.

Regards
43
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by Mike Petrichenko on May 06, 2022, 01:59:32 AM »
You forgot that Windows is not real-time OS. It will never be precise in any timing, especialy on user level.
44
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by exsurgo_ankit on May 06, 2022, 01:39:31 AM »
Hello Mike, 

I have it to be notifiable.
Params.Props = wclGattLocalCharacteristicProperty.cpNotifiable;

Regarding your comment on copying the data to driver level. I understand all of that, however, when the similar copy happens when the driver is receiving the bytes, we don't see the delay. We use your framework to receive 200 bytes in one notification of the hardware, every 20 to 30 milliseconds and don't see this delay.

So why does a write cause this delay? To clarify my question, if the write takes 45 milli seconds, then even with Widnows 11 and the latest version of the BT Framework, a connection interval or 40 milliseconds is not possible.


45
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by Mike Petrichenko on May 06, 2022, 01:05:38 AM »
By the way: is your characteristic notifiable or indicatable?
46
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by Mike Petrichenko on May 06, 2022, 01:00:51 AM »
Because it has to copy data to the driver level. First, the function has to find device object  by its MAC, then it has to send data to WinRT API (which is COM and COM is not faster way) using WinRT interface (it can't pass just a pointer to the data, it must copy data to the IBuffer object). And then WinRT passes data to the driver by calling DeviceIoControl.
47
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by exsurgo_ankit on May 06, 2022, 12:54:13 AM »
I believe so too. But why does wclGattLocalCharacteristic.Notify take 45 milliseconds then?
That is the bottle neck in our application at the moment.
48
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by Mike Petrichenko on May 06, 2022, 12:45:33 AM »
Windows 10 claims to support BT 5.0 Data Length Extensions.
49
Bluetooth Framework / Re: GATT Server functionality related questions
« Last post by exsurgo_ankit on May 06, 2022, 12:37:46 AM »
Hello Mike,

Thank you for a response. I tried to dig further and time the operations.

I found that the slowest bit is this call
wclGattLocalCharacteristic.Notify(subscriberAddr, dataToWrite)
It takes 45 milliseconds.

Can I assume that with Bluetooth 5.0 compliant hardware, Data Length Extensions would be enabled? I am trying to write more than 100 bytes in a single notification.

Do note that when the same PC is a GATT Client, it is able to receive the packets with more than 100 bytes just fine.

Regards
50
Bluetooth Framework / Re: GATT Server - Characteristic Max Size
« Last post by Mike Petrichenko on May 05, 2022, 09:50:56 PM »
Unfortunately no, it is not possible on Windows platform. However if all is confugured correctly on a server side Windows always changes MTU size automaticaly to the server specified value. Also there can be dongle's limitation.
Pages: 1 ... 3 4 [5] 6 7 ... 10