When developing Bluetooth applications, you typically run into some errors. If you are an experienced Bluetooth developer, you would typically know how to translate the error codes into string representations. Others might not. This commit to adds string printing of error codes for all samples to make them more user-friendly. Several formatting alternatives were considered. The chosen alternative balances code readability and FLASH size (with and without string printing). Example output from the peripheral_hids sample when the peer rejects pairing: ``` Bluetooth initialized Bluetooth authentication callbacks registered. Advertising successfully started Connected 5E:67:02:D3:1C:DB (random) Security failed: 5E:67:02:D3:1C:DB (random) \ level 1 err 6 BT_SECURITY_ERR_PAIR_NOT_ALLOWED Disconnected from 5E:67:02:D3:1C:DB (random), \ reason 0x13 BT_HCI_ERR_REMOTE_USER_TERM_CONN ``` Other alternatives that were considered: - Use of parantheses: ``` // strings enabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 \ err BT_SECURITY_ERR_PAIR_NOT_ALLOWED(6) Disconnected from 5E:67:02:D3:1C:DB (random), reason \ BT_HCI_ERR_REMOTE_USER_TERM_CONN(0x13) // strings disabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 err (6) Disconnected from 5E:67:02:D3:1C:DB (random), reason (0x13) ``` - Spaces and parantheses: ``` // strings enabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 \ err BT_SECURITY_ERR_PAIR_NOT_ALLOWED (6) Disconnected from 5E:67:02:D3:1C:DB (random), \ reason BT_HCI_ERR_REMOTE_USER_TERM_CONN (0x13) // strings disabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 err (6) Disconnected from 5E:67:02:D3:1C:DB (random), reason (0x13) ``` - Parantheses around everything: ``` // strings enabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 \ err (BT_SECURITY_ERR_PAIR_NOT_ALLOWED(6)) Disconnected from 5E:67:02:D3:1C:DB (random), \ reason (BT_HCI_ERR_REMOTE_USER_TERM_CONN(0x13)) // strings disabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 err ((6)) Disconnected from 5E:67:02:D3:1C:DB (random), reason ((0x13)) ``` - Error code first, then string representation: ``` // strings enabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 \ err 6 (BT_SECURITY_ERR_PAIR_NOT_ALLOWED) Disconnected from 5E:67:02:D3:1C:DB (random), reason \ 0x13 (BT_HCI_ERR_REMOTE_USER_TERM_CONN) // strings disabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 err 6 () Disconnected from 5E:67:02:D3:1C:DB (random), reason 0x13 () ``` - Apostrophes around error printing: ``` // strings enabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 \ err "BT_SECURITY_ERR_PAIR_NOT_ALLOWED (6)" Disconnected from 5E:67:02:D3:1C:DB (random), reason \ "BT_HCI_ERR_REMOTE_USER_TERM_CONN (0x13)" // strings disabled Security failed: 5E:67:02:D3:1C:DB (random) level 1 err " (6)" Disconnected from 5E:67:02:D3:1C:DB (random), reason " (0x13)" ``` Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no> |
||
|---|---|---|
| .. | ||
| src | ||
| CMakeLists.txt | ||
| prj.conf | ||
| README.rst | ||
| sample.yaml | ||
.. _bluetooth-st_ble_sensor:
Bluetooth: ST BLE Sensor Demo
#############################
Overview
********
This application demonstrates BLE peripheral by exposing vendor-specific
GATT services. Currently only button notification and LED service are
implemented. Other BLE sensor services can easily be added.
See `BlueST protocol`_ document for details of how to add a new service.
Requirements
************
* `ST BLE Sensor Android app`_
* A board with BLE support
Building and Running
********************
This sample can be found under :zephyr_file:`samples/bluetooth/st_ble_sensor` in the
Zephyr tree.
Open ST BLE Sensor app and click on "CONNECT TO A DEVICE" button to scan BLE devices.
To connect click on the device shown in the Device List.
After connected, tap LED image on Android to test LED service.
Push SW0 button on embedded device to test button service.
See :ref:`bluetooth samples section <bluetooth-samples>` for details.
.. _ST BLE Sensor Android app:
https://play.google.com/store/apps/details?id=com.st.bluems
.. _BlueST protocol:
https://www.st.com/resource/en/user_manual/dm00550659.pdf