Main Site Documentation

Bluetooth module issue with FEZ Hydra


#1

Hi,
I am using a FEZ Hydra mainboard and I am trying to set up the bluetooth module, but I get following exception during deployment:


‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files\GHI Electronics\GHI NETMF v4.1 SDK\Assemblies\le\GHIElectronics.NETMF.Hardware.ChipworkX.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Documents and Settings\11gdandrea\My Documents\My_Projects\GHI_Projects\repo\test\ChipworkX Application1\ChipworkX Application1\bin\Debug\le\ChipworkX Application.exe’, Symbols loaded.
The thread ‘’ (0x2) has exited with code 0 (0x0).
#### Exception Gadgeteer.Socket+InvalidSocketException - 0x00000000 (1) ####
#### Message: Module Bluetooth cannot be used with invalid socket number 5
#### Gadgeteer.Socket::GetSocket [IP: 00c7] ####
#### Gadgeteer.Modules.GHIElectronics.Bluetooth::.ctor [IP: 000b] ####
#### ChipworkX_Application1.Program::Main [IP: 0005] ####
A first chance exception of type ‘Gadgeteer.Socket.InvalidSocketException’ occurred in Gadgeteer.dll
An unhandled exception of type ‘Gadgeteer.Socket.InvalidSocketException’ occurred in Gadgeteer.dll

Additional information: Module Bluetooth cannot be used with invalid socket number 5


I declare the bluetooth module as following:

Gadgeteer.Modules.GHIElectronics.Bluetooth bt = new Gadgeteer.Modules.GHIElectronics.Bluetooth(5);

The same happens with the sockets 4,6,7.

On the project I include following modules:

  • Gadgeteer
  • GHIelectronics.netmf.hardware.chipworks
  • gtm.ghielectronics.bluetooth
  • microsoft.spot.native
  • mscorlib

Do you know what the problem is?
Is there a project example which shows how to use the Bluetooth module?

Thanks.

PS: I just updated to the newest firmware version.


#2

you say you use Hydra, but the log shows this:

so I’d say you should create a new project, not include ChipworkX dependencies, and see if that changes things?

I don’t have any Gadgeteer experience to know whether Socket 5 is a valid socket for a serial device (that I assume the Bluetooth module is) but to me the CwX information above stands out as something unexpected.


#3

Do you have the module connected in the designer, as well as declaring your own instance of it on the same socket?


#4

Hi, thanks for fast feedback.
what do you mean with “connected in the designer”?
And how is declared the module instance, based on the used socket?


#5

Do you know what kind of project you created when you started? Was it Gadgeteer? If so, the designer is a feature of Visual Studio for Gadgeteer development that allows a developer to quick place modules on a virtual “workspace” and graphically connect them. Once they are connected, all of the code to declare and initialize a module is done for you. You can find this code in the Program.Generated.cs file. You will not want to modify this code, as it can be overwritten by the designer.

I received this error if I connect the module in the designer and declare it myself, so this may be where you want to look first.


#6

so we’re saying that the fact that we’re talking about a Hydra here but ChipworkX was added may not result in an error (I assume that by Gus not agreeing :))? That certainly isn’t necessary and could lead to confusion, so I wouldn’t be doing it - even if it turns out it isn’t going to break things.


#7

Hi Steve, thanks for the precious feedback.
Now I can connect to the Bluetooth module and communicate with it; I could set it in slave inquiry mode and connect with a Bluetooth device.

The problem is that the Bluetooth module wrapper is quite primitive; it only allows the uart connection with the chip, but does not provide a real API, which can be used to pair, connect and send data over Bluetooth.
Do you know if there is such a wrapper-project already available?


#8

There is a very long thread about improving drivers for Bluetooth and xbee. The drivers ate open source do maybe you can contribute if interested.