PAN1026 BLE Custom Profile
We’re setting up a custom UART profile to work with the nRF UART APP (https://play.google.com/store/apps/details?id=com.nordicsemi.nrfUARTv2&hl=en). We picked this APP to work with because 1) they have both Android and iOS, 2) a few other APPs recognizes their defined services and characteristics, and 3) their APP is open source.
We set up the custom service UART with two characteristics Rx and Tx. However, the second characteristic always appears to be nested into the first characteristic as a descriptor (so it doesn’t function on its own as a characteristic). We checked the services, characteristics and descriptors using the app “nRF Master Control Panel”. Attached is a screenshot from that APP.
Here is how I setup the serives:
* Handles are assigned by PAN1026, observed by printing.
I have setup a few other services predefined by Bluetooth SIG like the heart rate service. They all function as expected.
Judging from the Handles that PAN1026 assigned, I think the database was built right. However, I checked with a few other APPs and all of them shows only one characteristic, so it shouldn’t be problems from the APP side. Therefore I’m not sure what the problem is.
The nRF APP is open source and can be accessed here: https://developer.mbed.org/forum/wiki-16691-forum/topic/5134/
Attached is our code to build this custom service on PAN1026.
Additionally, I tried to replace Rx and Tx characteristics with other known characteristics, by doing which, the known characteristics show up correctly. However, if I declare Rx (or Tx) first, followed by known characteristics, all following characteristics show up as descriptors. If I declare known characteristics first followed by Rx (or Tx), the phone fails to discover the services on PAN1026.
Based on this observation, I believe that the problem is from the 128b UUID. However, I'm not sure what's causing it and how to solve it.
If you have any suggestions, it’ll be very much appreciated!
Have you visited the BT Developer Zone?
Toshiba’s new BT Developer Zone contains a great deal of useful information about how to use Toshiba Software and Tools to develop applications for the PAN1026 and PAN1760. Posted articles cover a broad range of topics from beginner guides to advanced explanations interesting for developers just starting, as well as for advanced users. In addition to Wiki articles, the website also contains a list of Frequently Asked Questions and Document links which will be useful to your customers.
To register: https://apps.toshiba.de/web/SDKRegistration/