This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Bluetopia SPPLEDemo: Only Classic is working, LE is undetectable



Hello,

I have been writing code using the Bluetopia Stack for our new dual-mode prototype, and I am having trouble getting the LE functionality to work. I successfully got all of the peripheral functionality of the device incorporated into the stack, and it operates perfectly over Classic Bluetooth SPP. However, I am unable to detect the device over LE and I am unable to detect the SPPLE service.
I started my firmware with the SPPLEDemo example. The only significant changes I made are UART port changes in HAL.c and I added a function in Main.c to execute the peripherals of the device.
After verifying that the SPP is working fine, I then disabled the Classic Bluetooth SPP functionality by commenting out code in SPPLEDemo.c
The only lines that I commented out are as follows:
In SetConnect() function:               // ret_val = GAP_Set_Connectability_Mode(BluetoothStackID, cmConnectableMode);
In SetDisc() function:                     // ret_val = GAP_Set_Discoverability_Mode(BluetoothStackID, dmGeneralDiscoverableMode, 0);
In SetPairable() function:              // Result = GAP_Set_Pairability_Mode(BluetoothStackID, pmPairableMode);
                                                           // Result = GAP_Register_Remote_Authentication(BluetoothStackID, GAP_Event_Callback, (unsigned long)0);
In InitializeApplication() function: // OpenServer(NULL);
Thus, I left behind the LE portions of these functions while disabling the Classic portions. The device should be discoverable if the AdvertiseLE() function is working properly...
I use the Kinivo BTD-400 USB Bluetooth 4.0 Dongle to search for the device on my Windows 7 platform. Is it possible that the problem lies with the USB dongle that I use? I am trying to prove that this device operates over Bluetooth LE by Monday, and right now I am not sure how to troubleshoot this issue. I am available at any time.
Regards,
Seth Berggren
  • Hi Seth.

    So it looks like you are using the 4.0 dongle on Windows. There are two pieces to the Bluetooth system in this case, the controller and the host. The host software, that is the software that you are using on Windows should also support LE. Also, even if you have a software that supports LE, you will not be able to communicate end to end with SPPLE as SPPLE is a custom GATT profile and not a standard Bluetooth Profile.

    When you say that you have to prove that this device operates over Bluetooth LE, do you mean the device running SPPLEDemo or the dongle? To prove either you need a remote device with LE functionality in host piece.

    Please let us know and we will discuss further.

    Best Regards,

    Stonestreet One.

  • I mean the device running the SPPLEDemo. I would like to be able to perform a simple example of sending and receiving data over a COM port using a serial capture program (I use Realterm). It doesn't seem like the Kinivo Bluetooth Dongle can achieve this seeing as it supports only standard profiles.

    The end product is a smartphone app that sends commands over BLE to the SPPLEDemo device. But for now I just need to be able to demonstrate that the BLE is functional on the device by demonstrating some form of communication.

    I also have a BlueGiga BLED112 dongle which is Single-Mode Bluetooth Low Energy. This dongle sets up a virtual COM port on the computer and has an API associated with it that can send and receive all kinds of commands. I haven't learned how to use it yet but I may be able to communicate with the SPPLEDemo using this dongle.

    Thanks for the response and I appreciate your assistance

  • Hi Seth,

    Even if you setup on windows PC to communicate over LE, you will not be able to talk to the device unless that device has implemented SPPLE profile,which is a custom profile.  Are you open to using some other standard profile to demonstrate that MSP430 device is communicating over LE?

    Best Regards,

    Stonestreet One. 

  • Yes, I could try using a standard profile as long as it allows me to send byte commands to my device to control the peripherals. Shouldn't my computer still be able to detect my device even though it uses a different profile? Or does it automatically filter out Bluetooth devices that use non-standard profiles?

    Would you recommend modifying the GATT characteristics in the SPPLEDemo to conform to a standard profile, modifying a different Demo, or starting something from scratch?

    Thanks,

    Seth Berggren

  • I just loaded the HIDDemo onto my device and it is discoverable and connectable. Although, it doesn't seem to be advertising any services... I will have to take a look at the code. It seems like this might be a good starting point for a standard profile to use.

  • Hi,

    So we have decided that the classic functionality over SPP will be fine for demonstrating our device. I think I will continue with the SPPLE profile as it will be suitable once our App is designed to communicate with this specific profile.

    Thanks for your help,

    Seth Berggren

  • Hi Seth,

    Happy to hear that you can go ahead with proof of concept using the standard profiles. The kit that you have supports LE and you should not have issues when you decide to implement it in the project. We will be here to answer any questions.

    The HID host as a server does not have an SDP record btw, if that was what you were trying. 

    Best Regards,

    Stonestreet One.