lunes, 17 de marzo de 2008

Haiku discoverable!

I implemented the SetDiscoverable() method in the kit and I have got from my brother his dongle, as he got my Wii for easter  (my dongle due a failure is not discoverble I will detail later this)

And ...





The phone discovered Mavin which is the name of the bluetooth dongle plugged in the Haiku Box
(was hard to match the camera settings to show this clear)

jueves, 6 de marzo de 2008

Milestone 2, circle closed

The circle | driver - bluetooth_server - bluetooth kit - application | has been closed. Quite long ago I showed how the driver was replying to some request, which is more or less what I can show in the following screenshot. But that was accessing directily to the driver sending raw data and dropping to the screen any reply from it.

What we have here is an app(bt_dev_info) that uses an API defined by the bluetooth kit (libbluetooth.so). The kit is keeping a BMessaged comunication with the bluetooth_server requesting information and waiting for a reply. The bluetooth_server is the one keeping track of all the bluetooth devices we have connected in our system and is the only one who will perfom the real hardware requests to the driver(h2generic) issuing a HCI command to the driver. The driver replies with a given HCI event to the server, the server searches who was actually waiting for the reply information, releasing the data back to the kit again, so the application gets the needed info.

All a huge background that is not bringing us new spectacular things. But its the skeleton and the base of all the Haiku bluetooth subsystem. From now on, new bluetooth functionalities are some lines of code far
(in HCI layer terms).

A BMessenged HCI layer implemented totally in userland which Linux or FreeBSD has in kernel land(almost all) Lets see how it goes with us.