domingo, 22 de marzo de 2009

Important change

In the last week, due a more advanced implementation on how HCI commands are created, I checked the possibility to start using the size value given by the ioctl's(control hook on drivers). On R5 the value was always 0, therefore I was forced to pass in the first 4 bytes of the buffer, its size.

This ioctl's feature works as expected in Haiku, therefore as this new mechanism for bluetooth commands assumes this fact, the R5 behavior, although present in code has been dropped in r29639. Check inclusion for define BT_IOCTLS_PASS_SIZE.

With the new mechanism memory leaks allocating commands are solved, as they are meant to be allocated in stack, and dropping this R5 legacy, we are using 4 less bytes of memory per command (considerable as many bluetooth commands are just 3 bytes).

Bla bla bla, sumarizing the important part:

*** After this revision, be sure you recompiled and are using an updated version of at least: h2generic, bluetooth kit and bluetooth_server. As this change solved many issues but broke many compatibilities ***

For the ones who test often, there are some strings more on the LocalDevice panel information (preferences), there you will be able to check your dongle's bluetooth version, and the company who maufactured.

I use this update to thank Edwin Erik Amsler, who has shipped me some bluetooth devices to test, and a bluetooth 1.2 dongle which was recognized by the stack:



the phone discovered:

domingo, 1 de marzo de 2009

The Inquiry Panel

Maybe this is the most visual thing the bluetooth stack can show.

I have 2 bluetooth dongles connected: "CSR - bc4" and "Broadcom BCM2035". The further tests are gonna be pair the one with the other despite they are plugged in the same host. But by this way the input and the output are tested at the same time, as they don't know about each other and there is no such thing as loopback device in bluetooth context.

In the video can be seen how i set to discoverable the CSR one, and leave selected the Broadcom one. This will be used for the inquiry process. After the scanning and the retrieval of names, a phone and the CSR device are listed, and can be added to the Remote Device list.



Again UI suggestions/mockups are Welcome