Use of an SPP profile in BLE stack

I have burned a lot of time looking for a solution to my specific need. I have several applications in various stages of development, using the NUS to get serial data out to the world. Using the 52840 Dongle to provide a BLE serial connection into a PC works great. And the Dongle sticks out too far to be acceptable for beta test on one particular application, so I've been trying to using the built-in Bluetooth hardware instead of the Dongle. Google indicates that it's possible to install a new device (I can see my device by name, and it appears to install), then go to Change Bluetooth Settings to assign a COMx port. That also appears to work; I get a new COM port, which is named as Standard Serial over BLE. Everything works perfectly - except that I get no data either in or out.

Further research indicates that Windows is looking for a device advertising as SPP, 16-bit ID 0x1101. I have tried changing BLE_UUID_NUS_SERVICE to 0x1101, but there's apparently more needed, in terms of changing the underlying Characteristics. I have also looked around at sample code for several competitors' SPP solutions, but can't find anything that fits well into the Nordic stack. I'm pretty much flying blind here, but surely someone else has already done this, and it will greatly facilitate about half-dozen projects based on the nRF52832 or nRF52840, currently scattered thru all stages of development.

Related