This project has moved. For the latest updates, please go here.

Pending method of BluetoothListener & WIDCOMM

Topics: Bluetooth - Widcomm/Broadcom
Dec 27, 2012 at 5:23 PM

Hello,

I have problems with pending method of BluetoothListener class when running on a Widcomm Stack. I'm quite new programming bluetooth communications, but I have developped a software that communicates properly with a custom device on Microsoft Stack radios.

I've read 32feet.NET v3.5 documentation, and tested Broadcom libraries supplied (win32-x86 and win32-x86 SDK5). Radio is properly detected and Test32FeetWidcommWin32.exe finishes all tests with success.

Data of the radio of my computer is:

Broadcom 2046 Bluetooth 2.1. USB dongle / WIDCOMM Bluetooth Software 5.5.0.7400

My problem is that bluetoothlistener.pending() method returns always false. When the device sends data to my computer, bluetoothlistener.pending() returns false but I can see the Bluetooth tray icon change its color (usually white on blue, but green on blue when the device sends data.

I paste my code, that works fine with Microsoft stack:

Private m_lsnr as BluetoothListener

Private m_conn as BluetoothClient

Dim connectionpending as Boolean

Dim m_serviceclass as Guid

m_serviceclass=BluetoothService.SerialPort

m_lsnr=new BluetoothListener(m_serviceclass)

m_lsnr.Start()

Do

connectionpending=m_lsnr.Pending()

Application.DoEvents()

Loop While Not connectionPending

With WIDCOMM, sending data to the computer does not activate Pending() to true

Please, any help will be appreciated. Thanks in advance.

Developer
Dec 29, 2012 at 8:55 PM

Presumably if you call AcceptBluetoothClient then it just blocks forever?

Widcomm runs a COM port by default. It will be grabbing the incoming connection to the SerialPort service. If you use a different Service Class Id then your client app will be able to connect to your app, or disable the Widcomm Serial Port somehow...

 

(I've added a para explaining this to the end of http://32feet.codeplex.com/wikipage?title=Bluetooth%20Server-side)