Pins PD13, PD14, PD15, and PA5 are available as analog inputs, and routed to user accessible pads. See the schematic (available in Simplicity Studio) for more information.
The Silicon Labs Bluetooth team maintains a number of mobile devices that we use for interoperability testing of our stack and mobile apps. The list of these devices is as follows
One of the new features added in Bluetooth 5 is the LE coded PHY which enables longer range connections. This article describes how advertising on the coded PHY works, as well how to establish a connection using the coded PHY.
Discussion
Traditional Bluetooth low energy advertisements use channels 37, 38 and 39 only for advertising. The advertisement is identical on each channel and contains the advertiser’s address and advertising data payload. Starting in Bluetooth 5 it is possible to offload the advertising data payload onto one of the data channels. In this new type of advertisement, the same three advertising channels are used but instead of including the data payload, they include a pointer to the data channel and the offset time until the data payload is expected. This type of advertising is known as extended advertising. The following diagram is provided to illustrate
The common extended advertising format looks like this
The ADV mode field is shown below, note that is not permitted to be scannable and connectable at the same time
The extended header is laid out as follows, not all fields will be present in every advertisement
The aux pointer field provides information about the auxiliary advertisement as shown below
The channel index indicates which channel the auxiliary advertisement will come on. The CA field indicates the clock accuracy, the offset units indicate whether the offset (time until the auxiliary advertisement) is in units of 30 us or 300 us, the aux offset indicates the number of offset units until the auxiliary advertisement can be expected and the aux PHY indicates which PHY be used in the auxiliary advertisement.
The sync info field is not presently used. The Tx Power field indicates the transmitted power in dBm.
Another feature of these extended advertisements is that it is possible to specify the PHY used for the primary and secondary advertisements separately. To set the PHY used for advertisments, the following API function can be used
The parameters indicate the advertisement set to be used, the PHY for primary advertisements and the PHY used for secondary advertisements
Advertisements on the coded PHY do not support active scanning. This means that is always necessary to use the new connectability mode le_gap_connectable_non_scannable.
To start advertising, the following API function can be used
Remaining advertising parameters can be set as they would with the traditional 1 Mbps PHY.
Please refer here for an article summarizing the changes to the API in version 2.8.
Example Applications
Source code for an example advertiser and observer are attached below. To use this code please do as follows
Create an soc-empty sample application from the project menu->new->Silicon Labs Appbuilder
Save app.c and app.h for the advertiser to the project folder
Comment out the while(1) in main.c
add a call to appMain() just before the while(1) loop
add the following line near the top of main.c
#include “app.h”
Build the project and flash to your radio board.
Create a second soc-empty sample as in #1 above for the client.
Save app.c and app.h for the client to this project folder (note that the contents of app.c are different)
Repeat steps 3 – 5 for this project.
Open hal-config.h and change the definition of HAL_VCOM_ENABLE to 1
Go to the hardware\kit\common\drivers folder of your SDK and copy retargetio.c, retargetserialc and retargetserial.h to the hardware\kit\common\drivers in the project
Build and flash to a second radio board.
Launch a console for this second board , select the Serial1 tab and hit enter in the text box at the bottom to wake it up.
Press reset on the WSTK to see the startup messages.
Power up the first WSTK and you’ll see that the client connects to it on the LE coded PHY.
Bluetooth Knowledge Base
Are there user accessible analog I/O pins available on the ThunderBoard React?
KBA_BT_1504: Mobile Devices used for Interoperability Testing
The Silicon Labs Bluetooth team maintains a number of mobile devices that we use for interoperability testing of our stack and mobile apps. The list of these devices is as follows
iOS
iPad, iPad mini2, iPad Air 2, iPad PRO,iPhone 4S, iPhone 6, iPhone 6S,
Android
Samsung Galaxy Tab S, Nexus 5X, Huawei Mediapad M3, Samsung Galaxy S6, OnePlus One, HTC One M8, Samsung Galaxy Tab S3, Google Nexus 7 (by Asus), Galaxy Tab A, Huawei Nexus 6P, LG G6
This list isn't any sort of endorsement, it is only intended to be informative.
[Deprecated] KBA_BT_0302: Advertising and Scanning with LE Coded PHY
Note: This KBA has been marked as deprecated. A more updated KBA can be found here:
https://docs.silabs.com/bluetooth/latest/code-examples/stack-features/adv-and-scanning/adv-and-scanning-with-le-coded-phy
Introduction
One of the new features added in Bluetooth 5 is the LE coded PHY which enables longer range connections. This article describes how advertising on the coded PHY works, as well how to establish a connection using the coded PHY.
Discussion
Traditional Bluetooth low energy advertisements use channels 37, 38 and 39 only for advertising. The advertisement is identical on each channel and contains the advertiser’s address and advertising data payload. Starting in Bluetooth 5 it is possible to offload the advertising data payload onto one of the data channels. In this new type of advertisement, the same three advertising channels are used but instead of including the data payload, they include a pointer to the data channel and the offset time until the data payload is expected. This type of advertising is known as extended advertising. The following diagram is provided to illustrate
The common extended advertising format looks like this
The ADV mode field is shown below, note that is not permitted to be scannable and connectable at the same time
The extended header is laid out as follows, not all fields will be present in every advertisement
The aux pointer field provides information about the auxiliary advertisement as shown below
The channel index indicates which channel the auxiliary advertisement will come on. The CA field indicates the clock accuracy, the offset units indicate whether the offset (time until the auxiliary advertisement) is in units of 30 us or 300 us, the aux offset indicates the number of offset units until the auxiliary advertisement can be expected and the aux PHY indicates which PHY be used in the auxiliary advertisement.
The sync info field is not presently used. The Tx Power field indicates the transmitted power in dBm.
Another feature of these extended advertisements is that it is possible to specify the PHY used for the primary and secondary advertisements separately. To set the PHY used for advertisments, the following API function can be used
gecko_cmd_le_gap_set_advertise_phy(0, le_gap_phy_coded , le_gap_phy_coded);
The parameters indicate the advertisement set to be used, the PHY for primary advertisements and the PHY used for secondary advertisements
Advertisements on the coded PHY do not support active scanning. This means that is always necessary to use the new connectability mode le_gap_connectable_non_scannable.
To start advertising, the following API function can be used
gecko_cmd_le_gap_start_advertising(0,le_gap_general_discoverable, le_gap_connectable_non_scannable);
Remaining advertising parameters can be set as they would with the traditional 1 Mbps PHY.
Please refer here for an article summarizing the changes to the API in version 2.8.
Example Applications
Source code for an example advertiser and observer are attached below. To use this code please do as follows
#include “app.h”