Can I implement nRF Connect for Desktop software functions similar to those provided by the manufacturer based on C + +

Hello!
nRF Connect for Desktop is a desktop executable program provided by the manufacturer, which contains the function of ble.
Now I want to extract the functions of ble and use QT and C + + to implement the same graphical software for the chips we purchase.
Is it feasible?

The chip we purchased is NRF 52840

  • Hi

    I'm afraid the source code for the nRFConnect for Desktop BLE app is not open source, so this is not available I'm afraid. The BLE app is designed for development and testing purposes and is only compatible with nRF52/nRF53 Development Kits.

    Best regards,

    Simon

  • I seem to understand what you mean.
    Allow me to describe my needs again:
    1. We need to create a desktop program on win7 and win10.
    2. This program is used with the USB Wireless Bluetooth collector designed by our hardware development engineer. The USB Wireless Bluetooth collector used by our hardware development engineers is developed based on NRF 52840 chip.
    3. The programming languages of our software are QT and C++
    Now my questions mainly focus on these aspects:
    1. At present, I have found that the device driver is written in the basic C language through the examples given. Can we realize our requirements through this driver.
    2. Are the functions of the given samples complete and whether there are complete C + + interface documents?

    3. Does the chip support the secondary development of desktop programs?

  • Also, do you mind if I ask:
    Are you a member of the chip R & D team of NRF 52840? Can I use your answer as a standard to refer to the subsequent development?
    In addition, our chip is mainly used for the hardware development of USB communication devices. Software is only an aid to hardware development. Is my understanding correct?

    Thanks again!

  • I'm sorry to bother you again. There is a time difference between my location and your area, so I want to consult as much as possible.

    I'm sorry to bother you again. There is a time difference between my location and your area, so I want to consult as much as possible.
    I implemented part of the code following the example given.
    At present, you can open the COM port and start scanning ble devices.
    The problem I currently encounter is that the device can only scan one device. The situation is as follows:

    Where I set a breakpoint, I always receive advertising messages from the same device。But there are a lot of Bluetooth devices around me。

    The code also sets the maximum number of devices to 8, as shown in the figure below:

    In addition, the example I refer to is shown in the figure below:

  • Hi

    I assume your first questions refer to the drivers/libraries in the nRF5 SDK, that is used to develop applications on the nRF52840, correct?

    1. Yes our SDK is based on the C language, and not C++. I don't know what requirements you want to realize here, but we recommend using our SDK and drivers/libraries for development. You're of course free to make something yourself in C++, and we have had many questions over the years on adding C++ libraries etc. into our SDK.

    2. I'm not sure I understand this question, but yes, the libraries and examples in our SDK are complete. Although not designed for C++. You can check out this library on GitHub that adds support for C++. Please note that this is not an official library made by Nordic though, so we can't give you any guarantees.

    3. Can you describe what you mean by "secondary development of desktop programs"? 

    4. No, I have not personally worked on R&D of the nRF52840 SoC, but I can ask the people who did if I need to forward specific questions. I am one of Nordic's Support engineers, so my replies can be trusted if that's what you're asking.

    5. There will be some software development required as well in order to use the nRF52840 as a USB communication. Our SDK is the recommended tool to do so, but it's not required to use and can be used as an aid. You're free to do this your own way if you prefer.

    6. Do you have multiple devices running with the heart_rate_monitor example project? It only scans for devicies advertising the heart rate service by default, so you need to edit the scan parameters to allow all devices to be visible.

    Best regards,

    Simon

Related