Generic Access Profile (le_gap)#
The commands and events in this class are related to Generic Access Profile (GAP) in Bluetooth.
Commands#
le_gap_bt5_set_adv_data#
This command can be used together with le_gap_start_advertising or le_gap_bt5_set_mode to advertise user defined data. First use this command to set the data in advertising packets and/or in the scan response packets, and then use command le_gap_start_advertising or le_gap_set_mode to start the advertising in user_data mode.
It is recommended to set both the advertising data and scan response data at the same time.
Note that the user defined data will be overwritten by the system when this device is later configured to other discoverable mode than user_data.
If advertising mode is currently active, then new advertising data will be used immediately.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x03 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0c | method | Message ID |
4 | uint8 | handle | Advertising set handle index, number of sets available is defined in stack configuration |
5 | uint8 | scan_rsp | This value selects if the data is intended for advertising packets, scan response packets or advertising packet in OTA. Values:
|
6 | uint8array | adv_data | Data to be set. Maximum length is 31 bytes |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0c | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_bt5_set_adv_data_rsp_t *gecko_cmd_le_gap_bt5_set_adv_data(uint8 handle, uint8 scan_rsp, uint8 adv_data_len, const uint8 *adv_data_data);
/* Response id */
gecko_rsp_le_gap_bt5_set_adv_data_id
/* Response structure */
struct gecko_msg_le_gap_bt5_set_adv_data_rsp_t
{
uint16 result
}
le_gap_bt5_set_adv_parameters#
Deprecated. Replacements are le_gap_set_advertise_timing command for setting the advertising intervals, le_gap_set_advertise_channel_map command for setting the channel map, and le_gap_set_advertise_report_scan_request command for enabling and disabling scan request notifications.
This command can be used to set the advertising parameters of an advertising set that is specified by the given handle. These parameters are applied to the specified advertising set only. Other advertising sets are not affected.
This command is the same as le_gap_set_adv_parameters except it supports Bluetooth 5 extended features.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x07 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0b | method | Message ID |
4 | uint8 | handle | Advertising set handle index, number of sets available is defined in stack configuration |
5-6 | uint16 | interval_min | Minimum advertising interval. Value in units of 0.625 ms
Default value: 100 ms |
7-8 | uint16 | interval_max | Maximum advertising interval. Value in units of 0.625 ms
Default value: 200 ms |
9 | uint8 | channel_map | Advertising channel map which determines which of the three channels will be used for advertising. This value is given as a bitmask. Values:
Recommended value: 7 Default value: 7 |
10 | uint8 | report_scan | If non-zero, enables scan request notification, and scan requests will be reported as events. Default value: 0 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0b | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_bt5_set_adv_parameters_rsp_t *gecko_cmd_le_gap_bt5_set_adv_parameters(uint8 handle, uint16 interval_min, uint16 interval_max, uint8 channel_map, uint8 report_scan);
/* Response id */
gecko_rsp_le_gap_bt5_set_adv_parameters_id
/* Response structure */
struct gecko_msg_le_gap_bt5_set_adv_parameters_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_scan_request | Triggered when a scan request has been received during the advertising if scan request notification has been enabled by this command. |
le_gap_bt5_set_mode#
Deprecated. Replacements are le_gap_start_advertising command to start the advertising, and le_gap_stop_advertising command to stop the advertising. le_gap_set_advertise_timing command can be used for setting the maxevents and command le_gap_set_advertise_configuration can be used to for setting address types.
This command is used to set the mode of an advertising set. This works the same way as le_gap_set_mode except it has extra parameters to support Bluetooth 5 advertising set and features.
To stop advertising, issue this command with the Not Discoverable / Not Connectable parameter values.
Event le_connection_opened will be received when a remote device opens a connection to the advertiser on this advertising set.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x06 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0a | method | Message ID |
4 | uint8 | handle | Advertising set handle index, number of sets available is defined in stack configuration |
5 | uint8 | discover | Discoverable mode |
6 | uint8 | connect | Connectable mode |
7-8 | uint16 | maxevents | If non-zero, indicates the maximum number of advertising events to send before stopping advertiser. Value 0 indicates no maximum number limit. |
9 | uint8 | address_type | Address type to use for packets |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0a | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_bt5_set_mode_rsp_t *gecko_cmd_le_gap_bt5_set_mode(uint8 handle, uint8 discover, uint8 connect, uint16 maxevents, uint8 address_type);
/* Response id */
gecko_rsp_le_gap_bt5_set_mode_id
/* Response structure */
struct gecko_msg_le_gap_bt5_set_mode_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_adv_timeout | Triggered when the number of advertising events set by this command has been done and advertising is stopped on the given advertising set. |
le_connection_opened | Triggered when a remote device opened a connection to the advertiser on the specified advertising set. |
le_gap_clear_advertise_configuration#
This command can be used to disable advertising configurations on the given advertising set. The command le_gap_set_advertise_configuration can be used to set configurations.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x05 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x13 | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5-8 | uint32 | configurations | Advertising configuration flags to disable. This value can be a bitmask of multiple flags. See le_gap_set_advertise_configuration for possible flags. |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x13 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_clear_advertise_configuration_rsp_t *gecko_cmd_le_gap_clear_advertise_configuration(uint8 handle, uint32 configurations);
/* Response id */
gecko_rsp_le_gap_clear_advertise_configuration_id
/* Response structure */
struct gecko_msg_le_gap_clear_advertise_configuration_rsp_t
{
uint16 result
}
le_gap_connect#
This command can be used to connect an advertising device with the specified initiating PHY. The Bluetooth stack will enter a state where it continuously scans for the connectable advertising packets from the remote device which matches the Bluetooth address given as a parameter. Upon receiving the advertising packet, the module will send a connection request packet to the target device to initiate a Bluetooth connection. To cancel an ongoing connection process use the le_connection_close command with the handle received in the response from this command.
A connection is opened in no-security mode. If the GATT client needs to read or write the attributes on GATT server requiring encryption or authentication, it must first encrypt the connection using an appropriate authentication method.
This command fails with "Connection Limit Exceeded" error if the number of connections attempted to be opened exceeds the max_connections value configured.
This command fails with "Invalid Parameter" error if the initiating PHY value is invalid or the device does not support the PHY.
Later calls of this command have to wait for the ongoing command to complete. A received event le_connection_opened indicates connection opened successfully and a received event le_connection_closed indicates connection failures have occurred.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x08 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x1a | method | Message ID |
4-9 | bd_addr | address | Address of the device to connect to |
10 | uint8 | address_type | Address type of the device to connect to |
11 | uint8 | initiating_phy | The initiating PHY. Value:
|
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x03 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x1a | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
6 | uint8 | connection | Handle that will be assigned to the connection once the connection will be established. This handle is valid only if the result code of this response is 0 (zero). |
API#
/* Function */
struct gecko_msg_le_gap_connect_rsp_t *gecko_cmd_le_gap_connect(bd_addr address, uint8 address_type, uint8 initiating_phy);
/* Response id */
gecko_rsp_le_gap_connect_id
/* Response structure */
struct gecko_msg_le_gap_connect_rsp_t
{
uint16 result,
uint8 connection
}
Events generated#
Event | Description |
---|---|
le_connection_opened | This event is triggered after the connection has been opened, and indicates whether the devices are already bonded and what is the role of the Bluetooth device (Slave or Master). |
le_connection_parameters | This event indicates the connection parameters and security mode of the connection. |
le_gap_discover#
Deprecated. Replacement is le_gap_start_discovery command which allows to scan on LE 1M PHY or LE Coded PHY.
This command can be used to start the GAP discovery procedure to scan for advertising devices on LE 1M PHY, that is to perform a device discovery. Scanning parameters can be configured with the le_gap_set_scan_parameters command before issuing this command. To cancel an ongoing discovery process use the le_gap_end_procedure command.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x01 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x02 | method | Message ID |
4 | uint8 | mode | Bluetooth discovery Mode. For values see link |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x02 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_discover_rsp_t *gecko_cmd_le_gap_discover(uint8 mode);
/* Response id */
gecko_rsp_le_gap_discover_id
/* Response structure */
struct gecko_msg_le_gap_discover_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_scan_response | Every time an advertising packet is received, this event is triggered. The packets are not filtered in any way, so multiple events will be received for every advertising device in range. |
le_gap_end_procedure#
This command can be used to end a current GAP procedure.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x00 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x03 | method | Message ID |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x03 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_end_procedure_rsp_t *gecko_cmd_le_gap_end_procedure();
/* Response id */
gecko_rsp_le_gap_end_procedure_id
/* Response structure */
struct gecko_msg_le_gap_end_procedure_rsp_t
{
uint16 result
}
le_gap_open#
Deprecated. Replacement is le_gap_connect command which allows to open a connection with a specified PHY.
This command can be used to connect an advertising device with initiating PHY being the LE 1M PHY. The Bluetooth stack will enter a state where it continuously scans for the connectable advertising packets from the remote device which matches the Bluetooth address given as a parameter. Upon receiving the advertising packet, the module will send a connection request packet to the target device to initiate a Bluetooth connection. To cancel an ongoing connection process use the le_connection_close command with the handle received in the response from this command.
A connection is opened in no-security mode. If the GATT client needs to read or write the attributes on GATT server requiring encryption or authentication, it must first encrypt the connection using an appropriate authentication method.
This command fails with "Connection Limit Exceeded" error if the number of connections attempted to be opened exceeds the max_connections value configured.
Later calls of this command have to wait for the ongoing command to complete. A received event le_connection_opened indicates connection opened successfully and a received event le_connection_closed indicates connection failures have occurred.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x07 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x00 | method | Message ID |
4-9 | bd_addr | address | Address of the device to connect to |
10 | uint8 | address_type | Address type of the device to connect to |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x03 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x00 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
6 | uint8 | connection | Handle that will be assigned to the connection once the connection will be established. This handle is valid only if the result code of this response is 0 (zero). |
API#
/* Function */
struct gecko_msg_le_gap_open_rsp_t *gecko_cmd_le_gap_open(bd_addr address, uint8 address_type);
/* Response id */
gecko_rsp_le_gap_open_id
/* Response structure */
struct gecko_msg_le_gap_open_rsp_t
{
uint16 result,
uint8 connection
}
Events generated#
Event | Description |
---|---|
le_connection_opened | This event is triggered after the connection has been opened, and indicates whether the devices are already bonded and what is the role of the Bluetooth device (Slave or Master). |
le_connection_parameters | This event indicates the connection parameters and security mode of the connection. |
le_gap_set_adv_data#
Deprecated. Use le_gap_bt5_set_adv_data command to set the advertising data and scan response data.
This command is only effective on the first advertising set (handle value 0). Other advertising sets are not affected.
This command can be used together with le_gap_set_mode to advertise user defined data. First use this command to set the data in advertising packets and/or in the scan response packets, and then use command le_gap_set_mode to configure this device to be discoverable in user_data mode.
It is recommended to set both the advertising data and scan response data at the same time.
Note that the user defined data will be overwritten by the system when this device is later configured to other discoverable mode than user_data.
If advertising mode is currently active, then new advertising data will be used immediately.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x07 | method | Message ID |
4 | uint8 | scan_rsp | This value selects if the data is intended for advertising packets, scan response packets or advertising packet in OTA. Values:
|
5 | uint8array | adv_data | Data to be set. Maximum length is 31 bytes |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x07 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_adv_data_rsp_t *gecko_cmd_le_gap_set_adv_data(uint8 scan_rsp, uint8 adv_data_len, const uint8 *adv_data_data);
/* Response id */
gecko_rsp_le_gap_set_adv_data_id
/* Response structure */
struct gecko_msg_le_gap_set_adv_data_rsp_t
{
uint16 result
}
le_gap_set_adv_parameters#
Deprecated. Replacements are le_gap_set_advertise_timing command for setting the advertising intervals, and le_gap_set_advertise_channel_map command for setting the channel map.
This command is only effective on the first advertising set (handle value 0). Other advertising sets are not affected.
This command can be used together with le_gap_set_mode to set Bluetooth advertising parameters. First, use this command to set advertising parameters, and then use command le_gap_set_mode to start or restart advertising. If parameters can't be used with currently active mode an error will be returned.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x05 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x04 | method | Message ID |
4-5 | uint16 | interval_min | Minimum advertising interval. Value in units of 0.625 ms
Default value: 100 ms |
6-7 | uint16 | interval_max | Minimum advertising interval. Value in units of 0.625 ms
Default value: 200 ms |
8 | uint8 | channel_map | Advertising channel map which determines which of the three channels will be used for advertising. This value is given as a bitmask. Values:
Recommended value: 7 Default value: 7 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x04 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_adv_parameters_rsp_t *gecko_cmd_le_gap_set_adv_parameters(uint16 interval_min, uint16 interval_max, uint8 channel_map);
/* Response id */
gecko_rsp_le_gap_set_adv_parameters_id
/* Response structure */
struct gecko_msg_le_gap_set_adv_parameters_rsp_t
{
uint16 result
}
le_gap_set_adv_timeout#
Deprecated. New command le_gap_set_advertise_timing should be used for this functionality.
This command is only effective on the first advertising set (handle value 0). Other advertising sets are not affected.
This command can be used together with le_gap_set_mode to set the maximum number of advertising events. Passing value 0 to this command will remove the setting.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x01 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x08 | method | Message ID |
4 | uint8 | maxevents | If non-zero, indicates the maximum number of advertising events to send before stopping advertiser. Value 0 indicates no maximum number limit. |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x08 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_adv_timeout_rsp_t *gecko_cmd_le_gap_set_adv_timeout(uint8 maxevents);
/* Response id */
gecko_rsp_le_gap_set_adv_timeout_id
/* Response structure */
struct gecko_msg_le_gap_set_adv_timeout_rsp_t
{
uint16 result
}
le_gap_set_advertise_channel_map#
This command can be used to set the primary advertising channel map of the given advertising set.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0f | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5 | uint8 | channel_map | Advertisement channel map which determines which of the three channels will be used for advertising. This value is given as a bitmask. Values:
Recommended value: 7 Default value: 7 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0f | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_advertise_channel_map_rsp_t *gecko_cmd_le_gap_set_advertise_channel_map(uint8 handle, uint8 channel_map);
/* Response id */
gecko_rsp_le_gap_set_advertise_channel_map_id
/* Response structure */
struct gecko_msg_le_gap_set_advertise_channel_map_rsp_t
{
uint16 result
}
le_gap_set_advertise_configuration#
This command can be used to configure the type of advertising event and other advertising properties of the given advertising set. The command le_gap_clear_advertise_configuration can be used to clear the configurations set by this command.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x05 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x12 | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5-8 | uint32 | configurations | Advertising configuration flags to enable. This value can be a bitmask of multiple flags. Flags:
Default value: 1 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x12 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_advertise_configuration_rsp_t *gecko_cmd_le_gap_set_advertise_configuration(uint8 handle, uint32 configurations);
/* Response id */
gecko_rsp_le_gap_set_advertise_configuration_id
/* Response structure */
struct gecko_msg_le_gap_set_advertise_configuration_rsp_t
{
uint16 result
}
le_gap_set_advertise_phy#
This command can be used to set the advertising PHYs of the given advertising set. "Invalid Parameter" error will be returned if a PHY value is invalid or the device does not support a given PHY.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x03 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x11 | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5 | uint8 | primary_phy | The PHY on which the advertising packets are transmitted on the primary advertising channel. If legacy advertising PDUs are being used, the PHY must be LE 1M. Values:
Default: 1 |
6 | uint8 | secondary_phy | The PHY on which the advertising packets are transmitted on the secondary advertising channel. Values:
Default: 1 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x11 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_advertise_phy_rsp_t *gecko_cmd_le_gap_set_advertise_phy(uint8 handle, uint8 primary_phy, uint8 secondary_phy);
/* Response id */
gecko_rsp_le_gap_set_advertise_phy_id
/* Response structure */
struct gecko_msg_le_gap_set_advertise_phy_rsp_t
{
uint16 result
}
le_gap_set_advertise_report_scan_request#
This command can be used to enable or disable the scan request notification of the given advertising set.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x10 | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5 | uint8 | report_scan_req | If non-zero, enables scan request notification, and scan requests will be reported as events. Default value: 0 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x10 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_advertise_report_scan_request_rsp_t *gecko_cmd_le_gap_set_advertise_report_scan_request(uint8 handle, uint8 report_scan_req);
/* Response id */
gecko_rsp_le_gap_set_advertise_report_scan_request_id
/* Response structure */
struct gecko_msg_le_gap_set_advertise_report_scan_request_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_scan_request | Triggered when a scan request has been received during the advertising if scan request notification has been enabled by this command. |
le_gap_set_advertise_timing#
This command can be used to set the advertising timing parameters of the given advertising set.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x0c | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0e | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5-8 | uint32 | interval_min | Minimum advertising interval. Value in units of 0.625 ms
Default value: 100 ms |
9-12 | uint32 | interval_max | Maximum advertising interval. Value in units of 0.625 ms
Default value: 200 ms |
13-14 | uint16 | duration | The advertising duration for this advertising set. Value 0 indicates no advertising duration limit and the advertising continues until it is disabled. A non-zero value sets the duration in units of 10 ms. The duration begins at the start of the first advertising event of this advertising set.
Default value: 0 |
15 | uint8 | maxevents | If non-zero, indicates the maximum number of advertising events to send before stopping advertiser. Value 0 indicates no maximum number limit. Default value: 0 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0e | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_advertise_timing_rsp_t *gecko_cmd_le_gap_set_advertise_timing(uint8 handle, uint32 interval_min, uint32 interval_max, uint16 duration, uint8 maxevents);
/* Response id */
gecko_rsp_le_gap_set_advertise_timing_id
/* Response structure */
struct gecko_msg_le_gap_set_advertise_timing_rsp_t
{
uint16 result
}
le_gap_set_conn_parameters#
This command can be used to set the default Bluetooth connection parameters. The configured values are valid for all subsequent connections that will be established. For changing the parameters of an already established connection use the command le_connection_set_parameters.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x08 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x05 | method | Message ID |
4-5 | uint16 | min_interval | Minimum value for the connection event interval. This must be set be less than or equal to max_interval.
Default value: 125 ms |
6-7 | uint16 | max_interval | Maximum value for the connection event interval. This must be set greater than or equal to min_interval.
Default value: 250 ms |
8-9 | uint16 | latency | Slave latency. This parameter defines how many connection intervals the slave can skip if it has no data to send
Default value: 0 |
10-11 | uint16 | timeout | Supervision timeout. The supervision timeout defines for how long the connection is maintained despite the devices being unable to communicate at the currently configured connection intervals.
It is recommended that the supervision timeout is set at a value which allows communication attempts over at least a few connection intervals. Default value: 1000 ms |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x05 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_conn_parameters_rsp_t *gecko_cmd_le_gap_set_conn_parameters(uint16 min_interval, uint16 max_interval, uint16 latency, uint16 timeout);
/* Response id */
gecko_rsp_le_gap_set_conn_parameters_id
/* Response structure */
struct gecko_msg_le_gap_set_conn_parameters_rsp_t
{
uint16 result
}
le_gap_set_data_channel_classification#
This command can be used to specify a channel classification for data channels. This classification persists until overwritten with a subsequent command or until the system is reset.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x01 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x19 | method | Message ID |
4 | uint8array | channel_map | This parameter is 5 bytes and contains 37 1-bit fields. The nth such field (in the range 0 to 36) contains the value for the link layer channel index n.
The most significant bits are reserved and shall be set to 0 for future use. At least two channels shall be marked as unknown. |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x19 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_data_channel_classification_rsp_t *gecko_cmd_le_gap_set_data_channel_classification(uint8 channel_map_len, const uint8 *channel_map_data);
/* Response id */
gecko_rsp_le_gap_set_data_channel_classification_id
/* Response structure */
struct gecko_msg_le_gap_set_data_channel_classification_rsp_t
{
uint16 result
}
le_gap_set_discovery_timing#
This command can be used to set the timing parameters of the specified PHYs. If the device is currently scanning for advertising devices the PHYs, new parameters will take effect when the scanning is restarted.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x05 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x16 | method | Message ID |
4 | uint8 | phys | The PHYs for which the parameters are set.
|
5-6 | uint16 | scan_interval | Scan interval. This is defined as the time interval from when the device started its last scan until it begins the subsequent scan, that is how often to scan
Default value: 10 ms There is a variable delay when switching channels at the end of each scanning interval which is included in the scanning interval time itself. During this switch time no advertising packets will be received by the device. The switch time variation is dependent on use case, for example in case of scanning while keeping active connections the channel switch time might be longer than when only scanning without any active connections. Increasing the scanning interval will reduce the amount of time in which the device cannot receive advertising packets as it will switch channels less often. After every scan interval the scanner will change the frequency it operates at. It will cycle through all the three advertising channels in a round robin fashion. According to the specification all three channels must be used by a scanner. |
7-8 | uint16 | scan_window | Scan window. The duration of the scan. scan_window shall be less than or equal to scan_interval
Default value: 10 ms Note that packet reception is aborted if it has been started before scan window ends. |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x16 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_discovery_timing_rsp_t *gecko_cmd_le_gap_set_discovery_timing(uint8 phys, uint16 scan_interval, uint16 scan_window);
/* Response id */
gecko_rsp_le_gap_set_discovery_timing_id
/* Response structure */
struct gecko_msg_le_gap_set_discovery_timing_rsp_t
{
uint16 result
}
le_gap_set_discovery_type#
This command can be used to set the scan type of the specified PHYs. If the device is currently scanning for advertising devices on the PHYs, new parameters will take effect when the scanning is restarted
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x17 | method | Message ID |
4 | uint8 | phys | The PHYs for which the parameters are set.
|
5 | uint8 | scan_type | Scan type indicated by a flag. Values:
Default value: 0 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x17 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_discovery_type_rsp_t *gecko_cmd_le_gap_set_discovery_type(uint8 phys, uint8 scan_type);
/* Response id */
gecko_rsp_le_gap_set_discovery_type_id
/* Response structure */
struct gecko_msg_le_gap_set_discovery_type_rsp_t
{
uint16 result
}
le_gap_set_mode#
Deprecated. Use le_gap_start_advertising command for enabling the advertising, and le_gap_stop_advertising command for disabling the advertising.
This command is only effective on the first advertising set (handle value 0). Other advertising sets are not affected.
This command can be used to configure the current Bluetooth GAP Connectable and Discoverable modes. It can be used to enable advertising and/or allow incoming connections. To exit from this mode (to stop advertising and/or disallow incoming connections), issue this command with the Not Discoverable / Not Connectable parameter values. Command will take effect immediately. If currently set parameters can't be used with new mode then an error will be returned.
If advertising will be enabled in user_data mode, le_gap_set_adv_data should be used to set advertising and scan response data before issuing this command. When the advertising is enabled in other modes than user_data, the advertising and scan response data is generated by the stack using the following procedure:
Add a Flags field to advertising data.
Add a TX power level field to advertising data if TX power service exists in the local GATT database.
Add a Slave Connection Interval Range field to advertising data if the GAP peripheral preferred connection parameters characteristic exists in the local GATT database.
Add a list of 16-bit Service UUIDs to advertising data if there are one or more 16-bit service UUIDs to advertise. The list is complete if all advertised 16-bit UUIDs are in advertising data; otherwise the list is incomplete.
Add a list of 128-bit service UUIDs to advertising data if there are one or more 128-bit service UUIDs to advertise and there is still free space for this field. The list is complete if all advertised 128-bit UUIDs are in advertising data; otherwise the list is incomplete. Note that an advertising data packet can contain at most one 128-bit service UUID.
Try to add the full local name to advertising data if device is not in privacy mode. In case the full local name does not fit into the remaining free space, the advertised name is a shortened version by cutting off the end if the free space has at least 6 bytes; Otherwise, the local name is added to scan response data.
This command fails with "Connection Limit Exceeded" error if the number of connections has reached the max_connections value configured.
Event le_connection_opened will be received when a remote device opens a connection to this advertising device.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x01 | method | Message ID |
4 | uint8 | discover | Discoverable mode |
5 | uint8 | connect | Connectable mode |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x01 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_mode_rsp_t *gecko_cmd_le_gap_set_mode(uint8 discover, uint8 connect);
/* Response id */
gecko_rsp_le_gap_set_mode_id
/* Response structure */
struct gecko_msg_le_gap_set_mode_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_adv_timeout | Triggered when the number of advertising events has been done and advertising is stopped. |
le_connection_opened | Triggered when a remote device opened a connection to this advertising device. |
This event is triggered if the application only uses this command to start advertising. Once command le_gap_bt5_set_mode or le_gap_start_advertising has been called, event le_bt5_connection_opened will be triggered.
le_gap_set_privacy_mode#
This command can be used to enable or disable privacy feature on all GAP roles. The new privacy mode will take effect for advertising on the next advertising enabling, for scanning on the next scan enabling, and for initiating on the next open connection command. When privacy is enabled and the device is advertising or scanning, the stack will maintain a periodic timer with the specified time interval as timeout value. At each timeout the stack will generate a new private resolvable address and use it in advertising data packets and scanning requests.
By default, privacy feature is disabled.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0d | method | Message ID |
4 | uint8 | privacy | Values:
|
5 | uint8 | interval | The minimum time interval between private address change. This parameter is ignored if this command is issued for disabling privacy mode. Values:
|
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x0d | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_privacy_mode_rsp_t *gecko_cmd_le_gap_set_privacy_mode(uint8 privacy, uint8 interval);
/* Response id */
gecko_rsp_le_gap_set_privacy_mode_id
/* Response structure */
struct gecko_msg_le_gap_set_privacy_mode_rsp_t
{
uint16 result
}
le_gap_set_scan_parameters#
Deprecated. Replacements are le_gap_set_discovery_timing command for setting timing parameters, and le_gap_set_discovery_type command for the scan type.
The parameters set by this command is only effective on the LE 1M PHY. For LE Coded PHY, above replacement commands must be used.
This command can be used to set scan parameters of the LE 1M PHY. If the device is currently scanning for advertising devices new parameters will take effect when the scanning is restarted.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x05 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x06 | method | Message ID |
4-5 | uint16 | scan_interval | Scanner interval. This is defined as the time interval from when the device started its last scan until it begins the subsequent scan, that is how often to scan
Default value: 10 ms There is a variable delay when switching channels at the end of each scanning interval which is included in the scanning interval time itself. During this switch time no advertising packets will be received by the device. The switch time variation is dependent on use case, for example in case of scanning while keeping active connections the channel switch time might be longer than when only scanning without any active connections. Increasing the scanning interval will reduce the amount of time in which the device cannot receive advertising packets as it will switch channels less often. After every scan interval the scanner will change the frequency it operates at. It will cycle through all the three advertising channels in a round robin fashion. According to the specification all three channels must be used by a scanner. |
6-7 | uint16 | scan_window | Scan window. The duration of the scan. scan_window shall be less than or equal to scan_interval
Default value: 10 ms Note that packet reception is aborted if it has been started before scan window ends. |
8 | uint8 | active | Scan type indicated by a flag. Values:
Default value: 0 |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x06 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_set_scan_parameters_rsp_t *gecko_cmd_le_gap_set_scan_parameters(uint16 scan_interval, uint16 scan_window, uint8 active);
/* Response id */
gecko_rsp_le_gap_set_scan_parameters_id
/* Response structure */
struct gecko_msg_le_gap_set_scan_parameters_rsp_t
{
uint16 result
}
le_gap_start_advertising#
This command can be used to start the advertising of the given advertising set with specified discoverable and connectable modes.
The default advertising configuration in the stack is set to using legacy advertising PDUs on LE 1M PHY. The stack will automatically select extended advertising PDUs if either of the followings has occurred under the default configuration:
The connectable mode is set to le_gap_connectable_non_scannable.
The primary advertising PHY has been set to LE Coded PHY by command le_gap_set_advertise_phy.
If currently set parameters can't be used then an error will be returned. Specifically, this command fails with "Connection Limit Exceeded" error if the number of connections has reached the max_connections value configured. It fails with "Invalid Parameter" error if one of the following cases occur:
Non-resolvable random address is used but the connectable mode is le_gap_connectable_scannable or le_gap_connectable_non_scannable.
The connectable mode is le_gap_connectable_non_scannable, but using legacy advertising PDUs has been explicitly enabled with command le_gap_set_advertise_configuration.
The primary advertising PHY is LE Coded PHY but using legacy advertising PDUs has been explicitly enabled with command le_gap_set_advertise_configuration.
The connectable mode is le_gap_connectable_scannable but using extended advertising PDUs has been explicitly enabled or the primary advertising PHY has been set to LE Coded PHY.
If advertising will be enabled in user_data mode, le_gap_bt5_set_adv_data should be used to set advertising and scan response data before issuing this command. When the advertising is enabled in other modes than user_data, the advertising and scan response data is generated by the stack using the following procedure:
Add a Flags field to advertising data.
Add a TX power level field to advertising data if TX power service exists in the local GATT database.
Add a Slave Connection Interval Range field to advertising data if the GAP peripheral preferred connection parameters characteristic exists in the local GATT database.
Add a list of 16-bit Service UUIDs to advertising data if there are one or more 16-bit service UUIDs to advertise. The list is complete if all advertised 16-bit UUIDs are in advertising data; otherwise the list is incomplete.
Add a list of 128-bit service UUIDs to advertising data if there are one or more 128-bit service UUIDs to advertise and there is still free space for this field. The list is complete if all advertised 128-bit UUIDs are in advertising data; otherwise the list is incomplete. Note that an advertising data packet can contain at most one 128-bit service UUID.
Try to add the full local name to advertising data if device is not in privacy mode. In case the full local name does not fit into the remaining free space, the advertised name is a shortened version by cutting off the end if the free space has at least 6 bytes; Otherwise, the local name is added to scan response data.
Event le_connection_opened will be received when a remote device opens a connection to the advertiser on this advertising set.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x03 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x14 | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
5 | uint8 | discover | Discoverable mode |
6 | uint8 | connect | Connectable mode |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x14 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_start_advertising_rsp_t *gecko_cmd_le_gap_start_advertising(uint8 handle, uint8 discover, uint8 connect);
/* Response id */
gecko_rsp_le_gap_start_advertising_id
/* Response structure */
struct gecko_msg_le_gap_start_advertising_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_adv_timeout | Triggered when the number of advertising events set by this command has been done and advertising is stopped on the given advertising set. |
le_connection_opened | Triggered when a remote device opened a connection to the advertiser on the specified advertising set. |
le_gap_start_discovery#
This command can be used to start the GAP discovery procedure to scan for advertising devices on the specified scanning PHY, that is to perform a device discovery. To cancel an ongoing discovery process use the le_gap_end_procedure command.
"Invalid Parameter" error will be returned if the scanning PHY value is invalid or the device does not support the PHY.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x18 | method | Message ID |
4 | uint8 | scanning_phy | The scanning PHY. Value:
|
5 | uint8 | mode | Bluetooth discovery Mode. For values see link |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x18 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_start_discovery_rsp_t *gecko_cmd_le_gap_start_discovery(uint8 scanning_phy, uint8 mode);
/* Response id */
gecko_rsp_le_gap_start_discovery_id
/* Response structure */
struct gecko_msg_le_gap_start_discovery_rsp_t
{
uint16 result
}
Events generated#
Event | Description |
---|---|
le_gap_scan_response | Every time an advertising packet is received, this event is triggered. The packets are not filtered in any way, so multiple events will be received for every advertising device in range. |
le_gap_stop_advertising#
This command can be used to stop the advertising of the given advertising set.
Command#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Command |
1 | 0x01 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x15 | method | Message ID |
4 | uint8 | handle | Advertising set handle index |
Response#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0x20 | hilen | Message type: Response |
1 | 0x02 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x15 | method | Message ID |
4-5 | uint16 | result | Result code:
For other values refer to the Error codes |
API#
/* Function */
struct gecko_msg_le_gap_stop_advertising_rsp_t *gecko_cmd_le_gap_stop_advertising(uint8 handle);
/* Response id */
gecko_rsp_le_gap_stop_advertising_id
/* Response structure */
struct gecko_msg_le_gap_stop_advertising_rsp_t
{
uint16 result
}
Events#
le_gap_scan_response#
This event reports any advertising or scan response packet that is received by the device's radio while in scanning mode.
Event#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0xa0 | hilen | Message type: Event |
1 | 0x0b | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x00 | method | Message ID |
4 | int8 | rssi | Received signal strength indicator (RSSI)
|
5 | uint8 | packet_type | Bits 0..2 : advertising packet type:
Bits 3..6 : Reserved for future Bit 7 : legacy or extended advertising:
|
6-11 | bd_addr | address | Bluetooth address of the remote device |
12 | uint8 | address_type | Advertiser address type. Values:
|
13 | uint8 | bonding | Bonding handle if the remote advertising device has previously bonded with the local device. Values:
|
14 | uint8array | data | Advertising or scan response data |
API#
/* event id*/
gecko_evt_le_gap_scan_response_id
/* event structure*/
struct gecko_msg_le_gap_scan_response_evt_t
{
int8 rssi,
uint8 packet_type,
bd_addr address,
uint8 address_type,
uint8 bonding,
uint8array data
}
le_gap_adv_timeout#
This event indicates that the advertiser has completed the configured number of advertising events in the advertising set and advertising is stopped. The maximum number of advertising events can be configured by the maxevents parameter in command le_gap_set_advertise_timing or le_gap_bt5_set_mode.
Event#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0xa0 | hilen | Message type: Event |
1 | 0x01 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x01 | method | Message ID |
4 | uint8 | handle | The advertising set handle |
API#
/* event id*/
gecko_evt_le_gap_adv_timeout_id
/* event structure*/
struct gecko_msg_le_gap_adv_timeout_evt_t
{
uint8 handle
}
le_gap_scan_request#
This event reports any scan request received in advertising mode if scan request notification is enabled
Event#
Byte | Type | Name | Description |
---|---|---|---|
0 | 0xa0 | hilen | Message type: Event |
1 | 0x09 | lolen | Minimum payload length |
2 | 0x03 | class | Message class:Generic Access Profile |
3 | 0x02 | method | Message ID |
4 | uint8 | handle | The advertising set handle where scan request was received |
5-10 | bd_addr | address | Bluetooth address of the scanning device |
11 | uint8 | address_type | Scanner address type. Values:
|
12 | uint8 | bonding | Bonding handle if the remote scanning device has previously bonded with the local device. Values:
|
API#
/* event id*/
gecko_evt_le_gap_scan_request_id
/* event structure*/
struct gecko_msg_le_gap_scan_request_evt_t
{
uint8 handle,
bd_addr address,
uint8 address_type,
uint8 bonding
}
Enumerations#
le_gap_address_type#
These values define the Bluetooth Address types used by the stack.
Enumerations#
Value | Name | Description |
---|---|---|
0 | le_gap_address_type_public | Public address |
1 | le_gap_address_type_random | Random address |
2 | le_gap_address_type_public_identity | Public identity address resolved by stack |
3 | le_gap_address_type_random_identity | Random identity address resolved by stack |
le_gap_phy_type#
Types of PHYs used within le_gap class.
Enumerations#
Value | Name | Description |
---|---|---|
1 | le_gap_phy_1m | LE 1M PHY |
2 | le_gap_phy_2m | LE 2M PHY |
4 | le_gap_phy_coded | LE Coded PHY |
le_gap_connectable_mode#
These values define the available connectable modes.
Enumerations#
Value | Name | Description |
---|---|---|
0 | le_gap_non_connectable | Non-connectable non-scannable. |
1 | le_gap_directed_connectable | Directed connectable (RESERVED, DO NOT USE) |
2 | le_gap_undirected_connectable | Undirected connectable scannable. Deprecated , replaced by enum le_gap_connectable_scannable. This mode can only be used in legacy advertising PDUs. |
2 | le_gap_connectable_scannable | Undirected connectable scannable. This mode can only be used in legacy advertising PDUs. |
3 | le_gap_scannable_non_connectable | Undirected scannable (Non-connectable but responds to scan requests) |
4 | le_gap_connectable_non_scannable | Undirected connectable non-scannable. This mode can only be used in extended advertising PDUs. |
le_gap_discoverable_mode#
These values define the available Discoverable Modes, which dictate how the device is visible to other devices.
Enumerations#
Value | Name | Description |
---|---|---|
0 | le_gap_non_discoverable | Not discoverable |
1 | le_gap_limited_discoverable | Discoverable using both limited and general discovery procedures |
2 | le_gap_general_discoverable | Discoverable using general discovery procedure |
3 | le_gap_broadcast | Device is not discoverable in either limited or generic discovery procedure, but may be discovered by using the Observation procedure |
4 | le_gap_user_data | Send advertising and/or scan response data defined by the user using le_gap_set_adv_data. The limited/general discoverable flags are defined by the user. |
le_gap_discover_mode#
These values indicate which Bluetooth discovery mode to use when scanning for advertising devices.
Enumerations#
Value | Name | Description |
---|---|---|
0 | le_gap_discover_limited | Discover only limited discoverable devices |
1 | le_gap_discover_generic | Discover limited and generic discoverable devices |
2 | le_gap_discover_observation | Discover all devices |
le_gap_adv_address_type#
Address type to use for advertising
Enumerations#
Value | Name | Description |
---|---|---|
0 | le_gap_identity_address | Use public or static device address, or identity address if privacy mode is enabled |
1 | le_gap_non_resolvable | Use non resolvable address type, advertising mode must also be non-connectable |