GAP Vendor Specific API

GAP Commands

GAP_DeviceInit

Opcode:0xFE00
Command Description:
 This command is used to setup the device. Can only be called once per reset. In order to change the address mode / random address, it is necessary to reset the device and call this API again. In the case where the address mode or random address is different than it was for the last initialization, all bonds and local information stored in NV will be erased.

Command Parameters

profileRole:

Bit Mask - GAP Profile Roles

Size:

1 byte(s)

Default:

8

Range:
Value Description
0x01 GAP_PROFILE_BROADCASTER
0x02 GAP_PROFILE_OBSERVER
0x04 GAP_PROFILE_PERIPHERAL
0x08 GAP_PROFILE_CENTRAL
addrMode:

Address Mode

Size:

1 byte(s)

Default:

2

Range:
Value Description
0x00 ADDRMODE_PUBLIC
0x01 ADDRMODE_RANDOM
0x02 ADDRMODE_RP_WITH_PUBLIC_ID
0x03 ADDRMODE_RP_WITH_RANDOM_ID
ramdomAddr:

Address Mode

Size:6 byte(s)
Default:“00:00:00:00:00:00”
Range:Any 6 byte value

Events Generated

When this command is received, the host will send the CommandStatus Event.When initialization task is complete, the host will send the GAP_DeviceInitDone event.

GAP_TerminateLinkReq

Opcode:0xFE0A
Command Description:
 Send this command to terminate a connection link or all active connections.

Command Parameters

connectionHandle:
 

Connection handle of link to terminate.

Size:2 byte(s)
Default:0
Range:0 - 0xFFFD to terminate a connection, 0xFFFF to terminate all connections
reason:

Error Code to send over the air in the termination request.

Size:

1 byte(s)

Default:

0x13

Range:
Value Description
0x05 Authentication Failure
0x13 Remote User Terminated Connection
0x14 Remote Device Terminated Connection Due To Low Resources
0x15 Remote Device Terminated Connection due to Power Off
0x1A Unsupported Remote Feature
0x29 Pairing With Unit Key Not Supported
0x3B Unacceptable Connection Interval

Events Generated

When this command is received, the host will send the CommandStatus Event. When the connection is terminated, the GAP_LinkTerminated Event will be generated.

GAP_Authenticate

Opcode:0xFE0B
Command Description:
 Send this command to initiate the pairing process (if Central device), wait for the pairing process (if Peripheral device), or accept a pairing request (if Peripheral device).

Command Parameters

Connection Handle:
 

Identifies the connection.

Size:2 byte(s)
Default:0x0000
Range:0x0000 to 0x0EFF
secReq_ioCaps:

Defines the values which are used when exchanging IO capabilities

Size:

1 byte(s)

Default:

3

Range:
Value Description
0x00 DisplayOnly
0x01 DisplayYesNo
0x02 KeyboardOnly
0x03 NoInputNoOutput
0x04 KeyboardDisplay
secReq_oobAvailable:
 

“Enable” if Out-of-band key available.

Size:

1 byte(s)

Default:

0

Range:
Value Description
0 Disable
1 Enable
secReq_oob:

OOB data - Initial TK value for the pairing process.

Size:16 byte(s)
Default:“4d:9f:88:5a:6e:03:12:fe:00:00:00:00:00:00:00:00”
Range:Any 16 byte value
secReq_oobConfirm:
 

OOB data Confirm value. Secure Connection only.

Size:16 byte(s)
Default:“00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00”
Range:Any 16 byte value
secReq_localOobAvailable:
 

Secure Connections Local OOB data available

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 Locally generated OOB data is NOT available
0x01 Local generated OOB data is available
secReq_localOob:
 

Secure Connections local OOB value - 16 bytes in length.

Size:16 byte(s)
Default:“00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00”
Range:Any 16 byte value
secReq_isSCOnlyMode:
 

Type of pairing to allow

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 Legacy Pairing allowed
0x01 Only Secure Connections pairing allowed
secReq_eccKeys_isUsed:
 

1 if ECC Keys are specified, 0 for internal generation.

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 Stack chooses ECC keys.
0x01 Use application provided ECC keys.
secReq_eccKeys_sK:
 

P-256 ECC Private Key.

Size:32 byte(s)
Default:“BD:1A:3C:CD:A6:B8:99:58:99:B7:40:EB:7B:60:FF:4A:50:3F:10:D2:E3:B3:C9:74:38:5F:C5:A3:D4:F6:49:3F”
Range:Any 32 byte value
secReq_eccKeys_pK_x:
 

P-256 ECC Public Key X-Coordinate.

Size:32 byte(s)
Default:“E6:9D:35:0E:48:01:03:CC:DB:FD:F4:AC:11:91:F4:EF:B9:A5:F9:E9:A7:83:2C:5E:2C:BE:97:F2:D2:03:B0:20”
Range:Any 32 byte value
secReq_eccKeys_pK_y:
 

P-256 ECC Public Key Y-Coordinate.

Size:32 byte(s)
Default:“8B:D2:89:15:D0:8E:1C:74:24:30:ED:8F:C2:45:63:76:5C:15:52:5A:BF:9A:32:63:6D:EB:2A:65:49:9C:80:DC”
Range:Any 32 byte value
secReq_authReq:

A bit field that indicates the requested security properties for STK and GAP bonding information.

Size:

1 byte(s)

Default:

1

Range:
Value Description
0x01 Bonding
0x04 MITM
0x08 SC
0x10 KP
0x20 CT2
secReq_maxEncKeySize:
 

This value defines the maximum encryption key size in octets that the device can support.

Size:1 byte(s)
Default:16
Range:7-16
secReq_keyDist:

The Key Distribution field indicates which keys will be distributed.

Size:

1 byte(s)

Default:

119

Range:
Value Description
0x01 GAPBOND_KEYDIST_SENCKEY
0x02 GAPBOND_KEYDIST_SIDKEY
0x04 GAPBOND_KEYDIST_SSIGN
0x08 GAPBOND_KEYDIST_SLINK
0x10 GAPBOND_KEYDIST_MENCKEY
0x20 GAPBOND_KEYDIST_MIDKEY
0x40 GAPBOND_KEYDIST_MSIGN
0x80 GAPBOND_KEYDIST_MLINK
pairReq_Enable:

“Enable” if Pairing Request has already been received and to respond with a Pairing Response. This should only be used in a Peripheral device.

Size:

1 byte(s)

Default:

0

Range:
Value Description
0 Disable
1 Enable
pairReq_ioCaps:

Defines the values which are used when exchanging IO capabilities

Size:

1 byte(s)

Default:

3

Range:
Value Description
0x00 DisplayOnly
0x01 DisplayYesNo
0x02 KeyboardOnly
0x03 NoInputNoOutput
0x04 KeyboardDisplay
pairReq_oobDataFlag:
 

“Enable” if OOB key is available.

Size:

1 byte(s)

Default:

0

Range:
Value Description
0 Disable
1 Enable
pairReq_authReq:
 

A bit field that indicates the requested security properties for STK and GAP bonding information.

Size:

1 byte(s)

Default:

1

Range:
Value Description
0x01 Bonding
0x04 MITM
0x08 SC
0x10 KP
0x20 CT2
pairReq_maxEncKeySize:
 

This value defines the maximum encryption key size in octets that the device can support.

Size:1 byte(s)
Default:16
Range:7-16
pairReq_keyDist:
 

The Key Distribution field indicates which keys will be distributed.

Size:

1 byte(s)

Default:

119

Range:
Value Description
0x01 GAPBOND_KEYDIST_SENCKEY
0x02 GAPBOND_KEYDIST_SIDKEY
0x04 GAPBOND_KEYDIST_SSIGN
0x08 GAPBOND_KEYDIST_SLINK
0x10 GAPBOND_KEYDIST_MENCKEY
0x20 GAPBOND_KEYDIST_MIDKEY
0x40 GAPBOND_KEYDIST_MSIGN
0x80 GAPBOND_KEYDIST_MLINK

Events Generated

When this command is received, the host will send the CommandStatus Event. When the pairing process is complete (either SUCCESS or Failure), a GAP_AuthenticationComplete will be generated. If a passkey is needed, a GAP_PasskeyNeeded will be generated.

GAP_TerminateAuth

Opcode:0xFE10
Command Description:
 Send this command to terminate a pairing process.

Command Parameters

Connection Handle:
 

Identifies the connection.

Size:2 byte(s)
Default:0x0000
Range:0x0000 to 0x0EFF
reason:

Pairing Failed Message reason field.

Size:

1 byte(s)

Default:

3

Range:
Value Description
0x00 SUCCESS
0x01 SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED
0x02 SMP_PAIRING_FAILED_OOB_NOT_AVAIL
0x03 SMP_PAIRING_FAILED_AUTH_REQ
0x04 SMP_PAIRING_FAILED_CONFIRM_VALUE
0x05 SMP_PAIRING_FAILED_NOT_SUPPORTED
0x06 SMP_PAIRING_FAILED_ENC_KEY_SIZE
0x07 SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED
0x08 SMP_PAIRING_FAILED_UNSPECIFIED
0x09 SMP_PAIRING_FAILED_REPEATED_ATTEMPTS
0x0A SMP_PAIRING_FAILED_INVALID_PARAMETERS
0x0B SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED
0x0C SMP_PAIRING_FAILED_NUM_COMPARISON_FAILED
0x0D SMP_PAIRING_FAILED_BREDR_PAIR_IN_PROGRESS
0x0E SMP_PAIRING_FAILED_CT_KEYDER_NOT_ALLOWED
0x0F Command Disallowed
0x11 Unsupported Feature Or Parameter Value
0x12 Invalid HCI Command Parameters
0x17 bleTimeout

Events Generated

When this command is received, the host will send the CommandStatus Event. When the existing pairing had ended, the GAP_AuthenticationComplete with be generated.

GAP_UpdateLinkParamReq

Opcode:0xFE11
Command Description:
 Send this command to change the Link Layer connection parameters of a connection. This command can only be used when the local devices role is Master or Slave.

Command Parameters

Connection Handle:
 

Identifies the connection.

Size:2 byte(s)
Default:0x0000
Range:0x0000 to 0xFFFD
intervalMin:

Minimum value (* 1.25 ms) for the connection event interval. This shall be less than or equal to intervalMax.

Size:2 byte(s)
Default:80
Range:6 - 3200
intervalMax:

Maximum value (* 1.25 ms) for the connection event interval. This shall be greater than or equal to intervalMin./

Size:2 byte(s)
Default:160
Range:6 - 3200
connLatency:

The desired slave latency for the connection in number of connection events.

Size:2 byte(s)
Default:0
Range:0 - 499
connTimeout:

The desired supervision timeout (* 10 ms)

Size:2 byte(s)
Default:1000
Range:10 - 3200

Events Generated

When this command is received, the host will send the CommandStatus Event. When the connection parameters have been applied by the Controller, the GAP_LinkParamUpdate Event will be generated.

GAP_UpdateLinkParamReqReply

Opcode:0xFE12
Command Description:
 Reply to a GAP_LinkParamUpdateRequest that was received from a remote device

Command Parameters

Connection Handle:
 

Identifies the connection.

Size:2 byte(s)
Default:0x0000
Range:0x0000 to 0xFFFD
intervalMin:

Minimum value (* 1.25 ms) for the connection event interval. This shall be less than or equal to intervalMax.

Size:2 byte(s)
Default:80
Range:6 - 3200
intervalMax:

Maximum value (* 1.25 ms) for the connection event interval. This shall be greater than or equal to intervalMin./

Size:2 byte(s)
Default:160
Range:6 - 3200
connLatency:

The desired slave latency for the connection in number of connection events.

Size:2 byte(s)
Default:0
Range:0 - 499
connTimeout:

The desired supervision timeout (* 10 ms)

Size:2 byte(s)
Default:1000
Range:10 - 3200
accepted:

Yes to accept Parameter Update Request, No to reject it.

Size:

1 byte(s)

Default:

1

Range:
Value Description
0x00 No
0x01 Yes

Events Generated

When this command is received, the host will send the CommandStatus Event. When the connection parameters have been applied by the Controller, the GAP_LinkParamUpdate Event will be generated.

GAP_Bond

Opcode:0xFE0F
Command Description:
 Send this command for a connected and bound device to load the encryption key.

Command Parameters

Connection Handle:
 

Identifies the connection.

Size:2 byte(s)
Default:0x0000
Range:0x0000 to 0xFFFD
authenticated:

1 if authenticated. 0 if not.

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 No
0x01 Yes
secureConnections:
 

1 if Secure Connections. 0 if not.

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 No
0x01 Yes
secInfo.LTK:

Long Term Key

Size:16 byte(s)
Default:“4d:9f:88:5a:6e:03:12:fe:00:00:00:00:00:00:00:00”
Range:Any 16 byte value
secInfo.DIV:

Diversifier

Size:2 byte(s)
Default:0x1111
Range:Any 16-bit value
secInfo.rand:

LTK Rand pairing

Size:8 byte(s)
Default:“11:22:33:44:55:66:77:88”
Range:Any 8-byte value
secInfo.LTKsize:
 

LTK Key size (bytes)

Size:1 byte(s)
Default:16
Range:7-16

Events Generated

When this command is received, the host will send the CommandStatus Event. When both connected devices have setup encryption, the GAP_BondComplete is generated.

GAP_Signable

Opcode:0xFE0E
Command Description:
 Send this command for a connected and bound device to enable signed data.

Command Parameters

connectionHandle:
 

Used to identify the connection

Size:2 byte(s)
Default:0
Range:0 - 0xFFFD
authenticated:

“1 if the signing information was authenticated; 0 otherwise

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 No
0x01 Yes
CSRK:

Connection Signature Resolving Key for the connected device

Size:16 byte(s)
Default:0
Range:Any 16 byte value
signCounter:

Sign Counter for the connected device

Size:4 byte(s)
Default:0
Range:Any 4 byte value

Events Generated

When this command is received, the host will send the CommandStatus Event.

GAP_PasskeyUpdate

Opcode:0xFE0C
Command Description:
 Send this command when the GAP Passkey Needed Event is received. This command sends a passkey needed during the Pairing Process.

Command Parameters

connectionHandle:
 

Used to identify the connection

Size:2 byte(s)
Default:0
Range:0 - 0xFFFD
Passkey:

6 character ASCII string of numbers (ex. 019655? )

Size:6 byte(s)
Default:“019655”
Range:Any 6 character string

Events Generated

When this command is received, the host will send the CommandStatus Event.

GAP_SlaveSecurityRequest

Opcode:0xFE0D
Command Description:
 Send this command, Peripheral Role only, to initiate security from a slave device. This message is also sent, by the Peripheral, to upgrade security (Pairing) to “Authenticated”, make sure to ask for Man-In-The-Middle (MITM) protection in the “authReq” field.

Command Parameters

connectionHandle:
 

Used to identify the connection

Size:2 byte(s)
Default:0
Range:0 - 0xFFFD
authReq:

A bit field that indicates the requested security properties for STK and GAP bonding information.

Size:

1 byte(s)

Default:

5

Range:
Value Description
0x01 Bonding
0x04 MITM
0x08 SC
0x10 KP
0x20 CT2

Events Generated

When this command is received, the host will send the CommandStatus Event.

GapConfig_SetParameter

Opcode:0xFE2F
Command Description:
 Set a configuration parameter (IRK or SRK)

Command Parameters

paramID:

Parameter ID

Size:

1 byte(s)

Default:

0

Range:
Value Description
0 GAP_CONFIG_PARAM_IRK
1 GAP_CONFIG_PARAM_SRK
paramValue:

Key to set the parameter with

Size:16 byte(s)
Default:“00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:”
Range:Any 16-byte value

Events Generated

When this command is received, the host will send the CommandStatus Event.

GAP_SetParamValue

Opcode:0xFE30
Command Description:
 Set a GAP Parameter. See the respective parameter for more information

Command Parameters

paramID:

Parameter to Set

Size:

1 byte(s)

Default:

0

Range:
Value Description
0 GAP_PARAM_LINK_UPDATE_DECISION
1 GAP_PARAM_CONN_PARAM_TIMEOUT
2 GAP_PARAM_PRIVATE_ADDR_INT
3 GAP_PARAM_SM_TIMEOUT
4 GAP_PARAM_SM_MIN_KEY_LEN
5 GAP_PARAM_SM_MAX_KEY_LEN
6 GAP_PARAM_AUTH_TASK_ID
7 GAP_PARAM_VERIFY_CAR
8 GAP_PARAM_GGS_PARAMS
9 GAP_PARAM_GAP_TESTCODE
10 GAP_PARAM_SM_TESTCODE
11 GAP_PARAM_GATT_TESTCODE
12 GAP_PARAM_ATT_TESTCODE
13 GAP_PARAM_L2CAP_TESTCODE
GAP_PARAM_LINK_UPDATE_DECISION:
 

Action to take upon receiving a parameter update request

Condition:

( paramID == 0)

Size:

2 byte(s)

Default:

0x02

Range:
Value Description
0x00 GAP_UPDATE_REQ_ACCEPT_ALL
0x01 GAP_UPDATE_REQ_DENY_ALL
0x02 GAP_UPDATE_REQ_PASS_TO_APP
GAP_PARAM_CONN_PARAM_TIMEOUT:
 

Minimum time after an L2CAP Connection Parameter Update Response has been received that a L2CAP Connection Parameter Update Request can be sent. See section Version 5.0 Vol 3, Part C, Section 9.3.9.2 of the BT Core Spec

Condition:( paramID == 1)
Size:2 byte(s)
Default:30000
Range:1-65535
GAP_PARAM_PRIVATE_ADDR_INT:
 

Minimum Time Interval between private (resolvable) address changes (in minutes)

Condition:( paramID == 2)
Size:2 byte(s)
Default:15
Range:1-65535
GAP_PARAM_SM_TIMEOUT:
 

Time to wait for security manager response before returning bleTimeout (in ms)

Condition:( paramID == 3)
Size:2 byte(s)
Default:30000
Range:1-65535
GAP_PARAM_SM_MIN_KEY_LEN:
 

SM Minimum Key Length supported

Condition:( paramID == 4)
Size:2 byte(s)
Default:7
Range:1-65535
GAP_PARAM_SM_MAX_KEY_LEN:
 

SM Maximum Key Length supported

Condition:( paramID == 5)
Size:2 byte(s)
Default:16
Range:1-65535
GAP_PARAM_AUTH_TASK_ID:
 

For TestMode Only

Condition:( paramID == 6)
Size:2 byte(s)
Default:0xFF
Range:Any 2 byte value
GAP_PARAM_VERIFY_CAR:
 

Verify the Central Address Resolution (CAR) characteristic is set before sending directed advertisements using RPA

Condition:

( paramID == 7)

Size:

2 byte(s)

Default:

1

Range:
Value Description
0x00 No
0x01 Yes
GAP_PARAM_GGS_PARAMS:
 

For TestMode Only

Condition:( paramID == 8)
Size:2 byte(s)
Default:30720
Range:For TestMode Only
GAP_PARAM_GAP_TESTCODE:
 

For TestMode Only

Condition:( paramID == 9)
Size:2 byte(s)
Default:30720
Range:For TestMode Only
GAP_PARAM_SM_TESTCODE:
 

For TestMode Only

Condition:( paramID == 10)
Size:2 byte(s)
Default:30720
Range:For TestMode Only
GAP_PARAM_GATT_TESTCODE:
 

For TestMode Only

Condition:( paramID == 11)
Size:2 byte(s)
Default:30720
Range:For TestMode Only
GAP_PARAM_ATT_TESTCODE:
 

For TestMode Only

Condition:( paramID == 12)
Size:2 byte(s)
Default:30720
Range:For TestMode Only
GAP_PARAM_L2CAP_TESTCODE:
 

For TestMode Only

Condition:( paramID == 13)
Size:2 byte(s)
Default:30720
Range:For TestMode Only

Events Generated

When this command is received, the host will send the CommandStatus Event.

GAP_GetParamValue

Opcode:0xFE31
Command Description:
 Get a Parameter value.

Command Parameters

paramID:

Parameter to get

Size:

1 byte(s)

Default:

0

Range:
Value Description
0 GAP_PARAM_LINK_UPDATE_DECISION
1 GAP_PARAM_CONN_PARAM_TIMEOUT
2 GAP_PARAM_PRIVATE_ADDR_INT
3 GAP_PARAM_SM_TIMEOUT
4 GAP_PARAM_SM_MIN_KEY_LEN
5 GAP_PARAM_SM_MAX_KEY_LEN
6 GAP_PARAM_AUTH_TASK_ID
7 GAP_PARAM_VERIFY_CAR
8 GAP_PARAM_GGS_PARAMS
9 GAP_PARAM_GAP_TESTCODE
10 GAP_PARAM_SM_TESTCODE
11 GAP_PARAM_GATT_TESTCODE
12 GAP_PARAM_ATT_TESTCODE
13 GAP_PARAM_L2CAP_TESTCODE

Events Generated

When this command is received, the host will send the CommandStatus Event.

GapAdv_create

Opcode:0xFE3E
Command Description:
 Create an advertising set.

Command Parameters

Properties:

Advertising Event Properties bit field

Size:

2 byte(s)

Default:

0x0013

Range:
Value Description
0x0001 GAP_ADV_PROP_CONNECTABLE
0x0002 GAP_ADV_PROP_SCANNABLE
0x0004 GAP_ADV_PROP_DIRECTED
0x0008 GAP_ADV_PROP_HDC
0x0010 GAP_ADV_PROP_LEGACY
0x0020 GAP_ADV_PROP_ANONYMOUS
0x0040 GAP_ADV_PROP_TX_POWER
Interval Min:
Size:3 byte(s)
Default:160
Range:20 ms to 10,485.759375 s
Interval Max:
Size:3 byte(s)
Default:160
Range:ms to 10,485.759375 s
Primary channel map:
 
Size:

1 byte(s)

Default:

0x07

Range:
Value Description
0x01 GAP_ADV_CHAN_37
0x02 GAP_ADV_CHAN_38
0x04 GAP_ADV_CHAN_39
Peer address type:
 
Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID
0x01 PEER_ADDRTYPE_RANDOM_OR_RANDOM_ID
Peer Address:

Address of the peer. Only applicable for directed advertising.

Size:6 byte(s)
Default:“00:00:00:00:00:00”
Range:Any 6 byte value.
Filter Policy:
Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 GAP_ADV_WL_POLICY_ANY_REQ
0x01 GAP_ADV_WL_POLICY_WL_SCAN_REQ
0x02 GAP_ADV_WL_POLICY_WL_CONNECT_IND
0x03 GAP_ADV_WL_POLICY_WL_ALL_REQ
Tx Power:
Size:1 byte(s)
Default:127
Range:0 - 127
Primary PHY:
Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 GAP_ADV_PRIM_PHY_1_MBPS
0x03 GAP_ADV_PRIM_PHY_CODED_S8
0x83 GAP_ADV_PRIM_PHY_CODED_S2
Secoondary PHY:
Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 GAP_ADV_SEC_PHY_1_MBPS
0x02 GAP_ADV_SEC_PHY_2_MBPS
0x03 GAP_ADV_SEC_PHY_CODED_S8
0x83 GAP_ADV_SEC_PHY_CODED_S2
sid:
Size:1 byte(s)
Default:0
Range:0-15

Events Generated

The host will send the CommandStatus Event to indicate the advertising handle that is associated with this set.

Additional Command Status Return Parameters

length:

Length of data

Size:1 byte(s)
Range:
handle:

Advertising handle

Size:1 byte(s)
Range:

GapAdv_enable

Opcode:0xFE3F
Command Description:
 This will attempt to enable advertising for a set identified by the handle. The advertising set must first be created with GapAdv_create.

Command Parameters

handle:

handle of the advertisement set

Size:1 byte(s)
Default:0x00
Range:0x00 - 0xFE
enable options:

Whether to use the max possible duration for advertising, a user specified duration, or a user specified maximum number of events. Note that if the max possible duration is used, the maxEvent parameter is not applicable.

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 GAP_ADV_ENABLE_OPTIONS_USE_MAX
0x01 GAP_ADV_ENABLE_OPTIONS_USE_DURATION
0x02 GAP_ADV_ENABLE_OPTIONS_USE_MAX_EVENTS
duration or max event:
 
Size:2 byte(s)
Default:0x00
Range:10 ms to 655,540 ms.

Events Generated

The host will send the CommandStatus Event to indicate the advertising handle that is associated with this set. Also, if enabled by GapAdv_setEventMask, GAP_Advertiser/Scanner_Event events with the following event ID’s can be received: GAP_EVT_ADV_START_AFTER_ENABLE after advertising is enabled, GAP_EVT_ADV_START after each advertising set starts, GAP_EVT_ADV_END after each advertising set ends, GAP_EVT_SCAN_REQ_RECEIVED after received scan requests

GapAdv_disable

Opcode:0xFE40
Command Description:
 Disable an active advertising set.

Command Parameters

handle:

handle of the advertisement

Size:1 byte(s)
Default:0x00
Range:0x00 - 0xFE

Events Generated

When this command is received, the host will send the CommandStatus Event to indicate advertising has been disabled.

GapAdv_setParam

Opcode:0xFE42
Command Description:
 Set a parameter for an advertising set by advertising handle.

Command Parameters

handle:

handle of the advertisement set

Size:1 byte(s)
Default:0x00
Range:0x00 - 0x0FE
ParamID:

identification of the data to set

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0 GAP_ADV_PARAM_PROPS
1 GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN
2 GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX
3 GAP_ADV_PARAM_PRIMARY_CHANNEL_MAP
4 GAP_ADV_PARAM_PEER_ADDRESS_TYPE
5 GAP_ADV_PARAM_PEER_ADDRESS
6 GAP_ADV_PARAM_FILTER_POLICY
7 GAP_ADV_PARAM_TX_POWER
8 GAP_ADV_PARAM_PRIMARY_PHY
9 GAP_ADV_PARAM_SECONDARY_PHY
10 GAP_ADV_PARAM_SID
Properties:

Advertising Event Properties bit field

Condition:

( paramID == 0x0)

Size:

2 byte(s)

Default:

0x0013

Range:
Value Description
0x0001 GAP_ADV_PROP_CONNECTABLE
0x0002 GAP_ADV_PROP_SCANNABLE
0x0004 GAP_ADV_PROP_DIRECTED
0x0008 GAP_ADV_PROP_HDC
0x0010 GAP_ADV_PROP_LEGACY
0x0020 GAP_ADV_PROP_ANONYMOUS
0x0040 GAP_ADV_PROP_TX_POWER
Interval Min:

Minimum advertising interval (n * 0.625 ms)

Condition:( paramID == 0x1)
Size:3 byte(s)
Default:160
Range:20 ms to 10,485.759375 s
Interval Max:

Maximum advertising interval (n * 0.625 ms). This is currently ignored; the minimum advertising interval will always be used.

Condition:( paramID == 0x2)
Size:3 byte(s)
Default:160
Range:20 ms to 10,485.759375 s
Primary channel map:
 

A bit field that indicates the advertising channels that shall be used when transmitting advertising packets on primary channels

Condition:

( paramID == 0x3)

Size:

1 byte(s)

Default:

7

Range:
Value Description
0x01 GAP_ADV_CHAN_37
0x02 GAP_ADV_CHAN_38
0x04 GAP_ADV_CHAN_39
Peer address type:
 

Address type of the peer. Only applicable for directed advertising.

Condition:

( paramID == 0x4)

Size:

1 byte(s)

Default:

Public

Range:
Value Description
0x00 PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID
0x01 PEER_ADDRTYPE_RANDOM_OR_RANDOM_ID
Peer address:

The Peer address for directed advertising.

Condition:( paramID == 0x5)
Size:6 byte(s)
Default:“00:00:00:00:00:00”
Range:Any 6 byte value
Filter Policy:

Advertising filter policy.

Condition:

( paramID == 0x6)

Size:

1 byte(s)

Default:

0

Range:
Value Description
0x00 GAP_ADV_WL_POLICY_ANY_REQ
0x01 GAP_ADV_WL_POLICY_WL_SCAN_REQ
0x02 GAP_ADV_WL_POLICY_WL_CONNECT_IND
0x03 GAP_ADV_WL_POLICY_WL_ALL_REQ
Tx power:

The maximum power level at which the advertising packets are to be transmitted on the advertising channels. The Controller will choose a power level lower than or equal to this. The range is 0 - 126 or 127 if there is no preference.

Condition:( paramID == 0x7)
Size:1 byte(s)
Default:127
Range:0-127
Primary PHY:

The PHY on which the advertising packets are transmitted on the primary advertising channels.

Condition:

( paramID == 0x8)

Size:

1 byte(s)

Default:

1

Range:
Value Description
0x01 GAP_ADV_PRIM_PHY_1_MBPS
0x03 GAP_ADV_PRIM_PHY_CODED_S8
0x83 GAP_ADV_PRIM_PHY_CODED_S2
Secondary PHY:

The PHY on which the advertising packets are transmitted on the secondary advertising channels.

Condition:

( paramID == 0x9)

Size:

1 byte(s)

Default:

1

Range:
Value Description
0x01 GAP_ADV_SEC_PHY_1_MBPS
0x02 GAP_ADV_SEC_PHY_2_MBPS
0x03 GAP_ADV_SEC_PHY_CODED_S8
0x83 GAP_ADV_SEC_PHY_CODED_S2
SID:

This is the value to be transmitted in the Advertising SID subfield of the ADI field of the Extended Header of those advertising channel PDUs that have an ADI field. If the advertising set only uses PDUs that do not contain an ADI field, this parameter is ignored. The range is 0-15.

Condition:( paramID == 0xA)
Size:1 byte(s)
Default:0
Range:0-15

Events Generated

The host will send the CommandStatus Event to indicate the parameter has been set.

GapAdv_destroy

Opcode:0xFE41
Command Description:
 Delete an advertising set. This will free any memory associated with the advertising set.

Command Parameters

handle:

handle of the advertisement set to handle

Size:1 byte(s)
Default:0x00
Range:0x00-0xFE

Events Generated

The host will send the CommandStatus Event to indicate the set has been destroyed.

GapAdv_getParam

Opcode:0xFE43
Command Description:
 Get an advertising parameter for an advertising set.

Command Parameters

handle:

handle of the advertisement set to handle

Size:1 byte(s)
Default:0x00
Range:0x00 - 0xFE
paramId:

parameter ID to get

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0 GAP_ADV_PARAM_PROPS
1 GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN
2 GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX
3 GAP_ADV_PARAM_PRIMARY_CHANNEL_MAP
4 GAP_ADV_PARAM_PEER_ADDRESS_TYPE
5 GAP_ADV_PARAM_PEER_ADDRESS
6 GAP_ADV_PARAM_FILTER_POLICY
7 GAP_ADV_PARAM_TX_POWER
8 GAP_ADV_PARAM_PRIMARY_PHY
9 GAP_ADV_PARAM_SECONDARY_PHY
10 GAP_ADV_PARAM_SID

Events Generated

The host will send the CommandStatus Event to return the parameter value in question.

Additional Command Status Return Parameters

length:
Size:1 byte(s)
Range:
paramId:
Condition:

( StatStatus==0x00)

Size:

1 byte(s)

Range:
Value Description
0 GAP_ADV_PARAM_PROPS
1 GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN
2 GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX
3 GAP_ADV_PARAM_PRIMARY_CHANNEL_MAP
4 GAP_ADV_PARAM_PEER_ADDRESS_TYPE
5 GAP_ADV_PARAM_PEER_ADDRESS
6 GAP_ADV_PARAM_FILTER_POLICY
7 GAP_ADV_PARAM_TX_POWER
8 GAP_ADV_PARAM_PRIMARY_PHY
9 GAP_ADV_PARAM_SECONDARY_PHY
10 GAP_ADV_PARAM_SID
GAP_ADV_PARAM_PROPS:
 
Condition:

( StatStatus==0x00 paramId==0x00)

Size:

2 byte(s)

Range:
Value Description
0x0001 GAP_ADV_PROP_CONNECTABLE
0x0002 GAP_ADV_PROP_SCANNABLE
0x0004 GAP_ADV_PROP_DIRECTED
0x0008 GAP_ADV_PROP_HDC
0x0010 GAP_ADV_PROP_LEGACY
0x0020 GAP_ADV_PROP_ANONYMOUS
0x0040 GAP_ADV_PROP_TX_POWER
GAP_ADV_PARAM_PRIMARY_INTERVAL_MIN:
 
Condition:( StatStatus==0x00 paramId==0x01)
Size:3 byte(s)
Range:
GAP_ADV_PARAM_PRIMARY_INTERVAL_MAX:
 
Condition:( StatStatus==0x00 paramId==0x02)
Size:3 byte(s)
Range:
GAP_ADV_PARAM_PRIMARY_CHANNEL_MAP:
 
Condition:

( StatStatus==0x00 paramId==0x03)

Size:

1 byte(s)

Range:
Value Description
0x01 GAP_ADV_CHAN_37
0x02 GAP_ADV_CHAN_38
0x04 GAP_ADV_CHAN_39
GAP_ADV_PARAM_PEER_ADDRESS_TYPE:
 
Condition:( StatStatus==0x00 paramId==0x04)
Size:1 byte(s)
Range:
GAP_ADV_PARAM_PEER_ADDRESS:
 

Note! The value is byte-reversed.

Condition:( StatStatus==0x00 paramId==0x05)
Size:6 byte(s)
Range:
GAP_ADV_PARAM_FILTER_POLICY:
 
Condition:

( StatStatus==0x00 paramId==0x06)

Size:

1 byte(s)

Range:
Value Description
0x00 GAP_ADV_WL_POLICY_ANY_REQ
0x01 GAP_ADV_WL_POLICY_WL_SCAN_REQ
0x02 GAP_ADV_WL_POLICY_WL_CONNECT_IND
0x03 GAP_ADV_WL_POLICY_WL_ALL_REQ
GAP_ADV_PARAM_TX_POWER:
 
Condition:( StatStatus==0x00 paramId==0x07)
Size:1 byte(s)
Range:
GAP_ADV_PARAM_PRIMARY_PHY:
 
Condition:

( StatStatus==0x00 paramId==0x08)

Size:

1 byte(s)

Range:
Value Description
0x01 GAP_ADV_PRIM_PHY_1_MBPS
0x03 GAP_ADV_PRIM_PHY_CODED_S8
0x83 GAP_ADV_PRIM_PHY_CODED_S2
GAP_ADV_PARAM_SECONDARY_PHY:
 
Condition:

( StatStatus==0x00 paramId==0x09)

Size:

1 byte(s)

Range:
Value Description
0x01 GAP_ADV_SEC_PHY_1_MBPS
0x02 GAP_ADV_SEC_PHY_2_MBPS
0x03 GAP_ADV_SEC_PHY_CODED_S8
0x83 GAP_ADV_SEC_PHY_CODED_S2
GAP_ADV_PARAM_SID:
 
Condition:( StatStatus==0x00 paramId==0x0A)
Size:1 byte(s)
Range:

GapAdv_loadData

Opcode:0xFE44
Command Description:
 Load advertising or scan response data to an advertising set by handle.

Command Parameters

Layer:
Size:1 byte(s)
Value:9
Event Opcode:
Size:2 byte(s)
Value:0xFE44
Payload Length:
Size:2 byte(s)
Value:size(HandleLen)+size(type)+size(LengthLen)+size(dataLen)
Handle:

Handle of the advertisement set

Size:1 byte(s)
Default:0x00
Range:0x00 - 0xFE
type:

Type of Data to Load

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0 GAP_ADV_DATA_TYPE_ADV
1 GAP_ADV_DATA_TYPE_SCAN_RSP
Data length:

The number of bytesthe Advertising Data parameter

Size:2 byte(s)
Default:16
Range:0-251
Adv Data:

Data

Size:input byte(s)
Default:“00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F”
Range:This parameter has a variable length.

Events Generated

The host will send the CommandStatus Event to indicate the data has been loaded.

GapAdv_setEventMask

Opcode:0xFE45
Command Description:
 Set the per-advertising set event mask to select which events are sent

Command Parameters

handle:

handle of the advertisement set to handle

Size:1 byte(s)
Default:0x00
Range:0x00 - 0xFE
Event Mask:

Bitfield to enable / disable callback events:

Size:

2 byte(s)

Default:

0x0000

Range:
Value Description
0x01 GAP_EVT_SCAN_REQ_RECEIVED
0x02 GAP_EVT_ADV_SET_TERMINATED
0x10 GAP_EVT_ADV_START_AFTER_ENABLE
0x20 GAP_EVT_ADV_START
0x40 GAP_EVT_ADV_END
0x80 GAP_EVT_ADV_END_AFTER_DISABLE

Events Generated

The host will send the CommandStatus Event to indicate the event mask has been set.

GapScan_enable

Opcode:0xFE51
Command Description:
 Start scanning.

Command Parameters

period:

scan period in 1.28 sec. Ignore if duration is 0

Size:2 byte(s)
Default:0
Range:1-65535
duration:

scan duration in 10 ms. If 0, scanning will not end until GapScan_disable is called.

Size:2 byte(s)
Default:500
Range:1-65535
max number of records:
 

if non-zero, up to this number of adv reports will be recoreded during scanning

Size:1 byte(s)
Default:40
Range:1-65535 or until the heap is exhausted

Events Generated

The host will send the CommandStatus Event to indicate the scan has started

GapScan_disable

Opcode:0xFE52
Command Description:
 Stop the currently running scanning operation.

Events Generated

The host will send the CommandStatus Event to indicate the scan has ended.

GapScan_setPhyParams

Opcode:0xFE53
Command Description:
 Set parameters dependent on PHY. Note that if primPhys contains more than one PHY, the same parameters of those PHYs will be set with the same values.

Command Parameters

primPhy:

PHY(s) to use on primary advertising channels

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 SCAN_PRIM_PHY_1M
0x04 SCAN_PRIM_PHY_CODED
type:

scan type

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 SCAN_TYPE_PASSIVE
0x01 SCAN_TYPE_ACTIVE
interval:

scan interval in 625-us unit

Size:2 byte(s)
Default:1600
Range:4-16384
window:

scan window in 625-us unit

Size:2 byte(s)
Default:1600
Range:4-16384

Events Generated

The host will send the CommandStatus Event to indicate the phy parameters have been set.

GapScan_getPhyParams

Opcode:0xFE54
Command Description:
 Get parameters of the specified PHY. Note that primPhy shall indicate only one PHY.

Command Parameters

primPhy:

PHY to retrieve parameters relevant to

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 SCAN_PRIM_PHY_1M
0x04 SCAN_PRIM_PHY_CODED

Events Generated

The host will send the CommandStatus Event to return the parameter value in question.

Additional Command Status Return Parameters

length:

Length of data

Size:1 byte(s)
Range:
type:

Scan type

Size:

1 byte(s)

Range:
Value Description
0x00 SCAN_TYPE_PASSIVE
0x01 SCAN_TYPE_ACTIVE
interval:

Scan Interval

Size:2 byte(s)
Range:
window:

Scan window

Size:2 byte(s)
Range:

GapScan_setParam

Opcode:0xFE55
Command Description:
 Set a scan parameter.

Command Parameters

paramID:

Parameter ID

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 SCAN_PARAM_RPT_FIELDS
0x01 SCAN_PARAM_PRIM_PHYS
0x02 SCAN_PARAM_FLT_POLICY
0x03 SCAN_PARAM_FLT_PDU_TYPE
0x04 SCAN_PARAM_FLT_MIN_RSSI
0x05 SCAN_PARAM_FLT_DISC_MODE
0x06 SCAN_PARAM_FLT_DUP
0x07 SCAN_PARAM_NUM_ADV_RPT (Read-only)
SCAN_PARAM_RPT_FIELDS:
 

Fields of advertising report to keep in the list

Condition:

( paramID == 0x0)

Size:

2 byte(s)

Default:

0x08a7

Range:
Value Description
0x0001 SCAN_ADVRPT_FLD_EVENTTYPE
0x0002 SCAN_ADVRPT_FLD_ADDRTYPE
0x0004 SCAN_ADVRPT_FLD_ADDRESS
0x0008 SCAN_ADVRPT_FLD_PRIMPHY
0x0010 SCAN_ADVRPT_FLD_SECPHY
0x0020 SCAN_ADVRPT_FLD_ADVSID
0x0040 SCAN_ADVRPT_FLD_TXPOWER
0x0080 SCAN_ADVRPT_FLD_RSSI
0x0100 SCAN_ADVRPT_FLD_DIRADDRTYPE
0x0200 SCAN_ADVRPT_FLD_DIRADDRESS
0x0400 SCAN_ADVRPT_FLD_PRDADVINTERVAL
0x0800 SCAN_ADVRPT_FLD_DATALEN
SCAN_PARAM_PRIM_PHYS:
 

PHY to scan for on the primary channels

Condition:

( paramID == 0x1)

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 SCAN_PRIM_PHY_1M
0x04 SCAN_PRIM_PHY_CODED
SCAN_PARAM_FLT_POLICY:
 

Whitelist filter policy

Condition:

( paramID == 0x2)

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 SCAN_FLT_POLICY_ALL
0x01 SCAN_FLT_POLICY_WL
0x02 SCAN_FLT_POLICY_ALL_RPA
0x03 SCAN_FLT_POLICY_WL_RPA
SCAN_PARAM_FLT_PDU_TYPE:
 

Filter by PDU types

Condition:

( paramID == 0x3)

Size:

2 byte(s)

Default:

0x0800

Range:
Value Description
0x0001 SCAN_FLT_PDU_NONCONNECTABLE_ONLY
0x0002 SCAN_FLT_PDU_CONNECTABLE_ONLY
0x0004 SCAN_FLT_PDU_NONSCANNABLE_ONLY
0x0008 SCAN_FLT_PDU_SCANNABLE_ONLY
0x0010 SCAN_FLT_PDU_UNDIRECTED_ONLY
0x0020 SCAN_FLT_PDU_DIRECTED_ONLY
0x0040 SCAN_FLT_PDU_ADV_ONLY
0x0080 SCAN_FLT_PDU_SCANRSP_ONLY
0x0100 SCAN_FLT_PDU_EXTENDED_ONLY
0x0200 SCAN_FLT_PDU_LEGACY_ONLY
0x0400 SCAN_FLT_PDU_TRUNCATED_ONLY
0x0800 SCAN_FLT_PDU_COMPLETE_ONLY
SCAN_PARAM_FLT_MIN_RSSI:
 

Filter by RSSI. Note this is a signed one-byte value.

Condition:( paramID == 0x4)
Size:1 byte(s)
Default:-128
Range:-128 - 127
SCAN_PARAM_FLT_DISC_MODE:
 

Filter by discoverable mode

Condition:

( paramID == 0x5)

Size:

1 byte(s)

Default:

0x04

Range:
Value Description
0x00 SCAN_FLT_DISC_NONE
0x01 SCAN_FLT_DISC_GENERAL
0x02 SCAN_FLT_DISC_LIMITED
0x03 SCAN_FLT_DISC_ALL
0x04 SCAN_FLT_DISC_DISABLE
SCAN_PARAM_FLT_DUP:
 

Duplicate Filter

Condition:

( paramID == 0x6)

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x00 SCAN_FLT_DUP_DISABLE
0x01 SCAN_FLT_DUP_ENABLE
0x02 SCAN_FLT_DUP_RESET (Duplicate filtering enabled, reset for each scan period)

Events Generated

The host will send the CommandStatus Event to indicate the parameter has been set.

GapScan_getParam

Opcode:0xFE56
Command Description:
 Set a scan parameter.

Command Parameters

paramID:

Parameter ID

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 SCAN_PARAM_RPT_FIELDS
0x01 SCAN_PARAM_PRIM_PHYS
0x02 SCAN_PARAM_FLT_POLICY
0x03 SCAN_PARAM_FLT_PDU_TYPE
0x04 SCAN_PARAM_FLT_MIN_RSSI
0x05 SCAN_PARAM_FLT_DISC_MODE
0x06 SCAN_PARAM_FLT_DUP
0x07 SCAN_PARAM_NUM_ADV_RPT (Read-only)

Events Generated

The host will send the CommandStatus Event to return the parameter value in question.

Additional Command Status Return Parameters

length:

Length of data

Size:1 byte(s)
Range:
paramId:
Condition:

( StatStatus==0x00)

Size:

1 byte(s)

Range:
Value Description
0x00 SCAN_PARAM_RPT_FIELDS
0x01 SCAN_PARAM_PRIM_PHYS
0x02 SCAN_PARAM_FLT_POLICY
0x03 SCAN_PARAM_FLT_PDU_TYPE
0x04 SCAN_PARAM_FLT_MIN_RSSI
0x05 SCAN_PARAM_FLT_DISC_MODE
0x06 SCAN_PARAM_FLT_DUP
0x07 SCAN_PARAM_NUM_ADV_RPT (Read-only)
SCAN_PARAM_RPT_FIELDS:
 
Condition:

( StatStatus==0x00 paramId==0x00)

Size:

2 byte(s)

Range:
Value Description
0x0001 SCAN_ADVRPT_FLD_EVENTTYPE
0x0002 SCAN_ADVRPT_FLD_ADDRTYPE
0x0004 SCAN_ADVRPT_FLD_ADDRESS
0x0008 SCAN_ADVRPT_FLD_PRIMPHY
0x0010 SCAN_ADVRPT_FLD_SECPHY
0x0020 SCAN_ADVRPT_FLD_ADVSID
0x0040 SCAN_ADVRPT_FLD_TXPOWER
0x0080 SCAN_ADVRPT_FLD_RSSI
0x0100 SCAN_ADVRPT_FLD_DIRADDRTYPE
0x0200 SCAN_ADVRPT_FLD_DIRADDRESS
0x0400 SCAN_ADVRPT_FLD_PRDADVINTERVAL
0x0800 SCAN_ADVRPT_FLD_DATALEN
SCAN_PARAM_PRIM_PHYS:
 
Condition:

( StatStatus==0x00 paramId==0x01)

Size:

1 byte(s)

Range:
Value Description
0x01 SCAN_PRIM_PHY_1M
0x04 SCAN_PRIM_PHY_CODED
SCAN_PARAM_FLT_POLICY:
 
Condition:

( StatStatus==0x00 paramId==0x02)

Size:

1 byte(s)

Range:
Value Description
0x00 SCAN_FLT_POLICY_ALL
0x01 SCAN_FLT_POLICY_WL
0x02 SCAN_FLT_POLICY_ALL_RPA
0x03 SCAN_FLT_POLICY_WL_RPA
SCAN_PARAM_FLT_PDU_TYPE:
 
Condition:

( StatStatus==0x00 paramId==0x03)

Size:

2 byte(s)

Range:
Value Description
0x0001 SCAN_FLT_PDU_NONCONNECTABLE_ONLY
0x0002 SCAN_FLT_PDU_CONNECTABLE_ONLY
0x0004 SCAN_FLT_PDU_NONSCANNABLE_ONLY
0x0008 SCAN_FLT_PDU_SCANNABLE_ONLY
0x0010 SCAN_FLT_PDU_UNDIRECTED_ONLY
0x0020 SCAN_FLT_PDU_DIRECTED_ONLY
0x0040 SCAN_FLT_PDU_ADV_ONLY
0x0080 SCAN_FLT_PDU_SCANRSP_ONLY
0x0100 SCAN_FLT_PDU_EXTENDED_ONLY
0x0200 SCAN_FLT_PDU_LEGACY_ONLY
0x0400 SCAN_FLT_PDU_TRUNCATED_ONLY
0x0800 SCAN_FLT_PDU_COMPLETE_ONLY
SCAN_PARAM_FLT_MIN_RSSI:
 
Condition:( StatStatus==0x00 paramId==0x04)
Size:1 byte(s)
Range:
SCAN_PARAM_FLT_DISC_MODE:
 
Condition:

( StatStatus==0x00 paramId==0x05)

Size:

1 byte(s)

Range:
Value Description
0x00 SCAN_FLT_DISC_NONE
0x01 SCAN_FLT_DISC_GENERAL
0x02 SCAN_FLT_DISC_LIMITED
0x03 SCAN_FLT_DISC_ALL
0x04 SCAN_FLT_DISC_DISABLE
SCAN_PARAM_FLT_DUP:
 
Condition:

( StatStatus==0x00 paramId==0x06)

Size:

1 byte(s)

Range:
Value Description
0x00 SCAN_FLT_DUP_DISABLE
0x01 SCAN_FLT_DUP_ENABLE
0x02 SCAN_FLT_DUP_RESET (Duplicate filtering enabled, reset for each scan period)
SCAN_PARAM_NUM_ADV_RPT:
 
Condition:( StatStatus==0x00 paramId==0x07)
Size:1 byte(s)
Range:

GapScan_setEventMask

Opcode:0xFE57
Command Description:
 Set which events to receive through the callback. One bit per event. If a bit is set to 1, the callback provided by GapScan_registerCb() will be called upon corresponding event.

Command Parameters

eventMask:

The mask receive the wanted scan events

Size:

4 byte(s)

Default:

0x00C30000

Range:
Value Description
0x00010000 GAP_EVT_SCAN_ENABLED
0x00020000 GAP_EVT_SCAN_DISABLED
0x00040000 GAP_EVT_SCAN_PRD_ENDED
0x00080000 GAP_EVT_SCAN_DUR_ENDED
0x00100000 GAP_EVT_SCAN_INT_ENDED
0x00200000 GAP_EVT_SCAN_WND_ENDED
0x00400000 GAP_EVT_ADV_REPORT
0x00800000 GAP_EVT_ADV_REPORT_FULL
0x01000000 GAP_EVT_PRD_ADV_SYNC_ESTABLISHED
0x02000000 GAP_EVT_PRD_ADV_REPORT
0x04000000 GAP_EVT_PRD_ADV_SYNC_LOST

Events Generated

The host will send the CommandStatus Event to indicate the event mask has been set.

GapScan_getAdvReport

Opcode:0xFE58
Command Description:
 Get a specific advertising report from the advertising report list. Only the fields specified by GapScan_setParam(SCAN_PARAM_RPT_FIELDS, ..) will be filled out. All other fields will be filled with 0s.

Command Parameters

rptIdx:

the index of the report to retrieve (number of reports available is returned by the GapScan_disable)

Size:1 byte(s)
Default:0
Range:0-maxNumReport as set by GapScan_enable

Events Generated

The host will send the CommandStatus Event to return the advertising report.

Additional Command Status Return Parameters

length:

Length of data

Size:1 byte(s)
Range:
evtType:
Size:1 byte(s)
Range:
addrType:
Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
addr:
Size:6 byte(s)
Range:
primPhy:
Size:

1 byte(s)

Range:
Value Description
0x00 SCANNED_PHY_NONE
0x01 SCANNED_PHY_1M
0x02 SCANNED_PHY_2M
0x03 SCANNED_PHY_CODED
secPhy:
Size:

1 byte(s)

Range:
Value Description
0x00 SCANNED_PHY_NONE
0x01 SCANNED_PHY_1M
0x02 SCANNED_PHY_2M
0x03 SCANNED_PHY_CODED
advSid:
Size:1 byte(s)
Range:
txPower:
Size:1 byte(s)
Range:
rssi:
Size:1 byte(s)
Range:
directAddrType:
Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
directAddr:
Size:6 byte(s)
Range:

GapInit_setPhyParam

Opcode:0xFE60
Command Description:
 Set parameters dependent on PHY. Note that if phys contains more than one PHY, the same parameter of those PHYs will be set with the same value.

Command Parameters

phy:

PHY(s) to set parameter of

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 INIT_PHY_1M
0x02 INIT_PHY_2M
0x04 INIT_PHY_CODED
paramId:

parameter ID

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 INIT_PHYPARAM_SCAN_INTERVAL
0x01 INIT_PHYPARAM_SCAN_WINDOW
0x02 INIT_PHYPARAM_CONN_INT_MIN
0x03 INIT_PHYPARAM_CONN_INT_MAX
0x04 INIT_PHYPARAM_CONN_LATENCY
0x05 INIT_PHYPARAM_SUP_TIMEOUT
INIT_PHYPARAM_SCAN_INTERVAL:
 

scan interval in 625-us unit

Condition:( paramID == 0x0)
Size:2 byte(s)
Default:16
Range:4-16384
INIT_PHYPARAM_SCAN_WINDOW:
 

scan window in 625-us unit

Condition:( paramID == 0x1)
Size:2 byte(s)
Default:16
Range:4-16384
INIT_PHYPARAM_CONN_INT_MIN:
 

minimum connection interval in 1.25-ms unit

Condition:( paramID == 0x2)
Size:2 byte(s)
Default:80
Range:6-3200
INIT_PHYPARAM_CONN_INT_MAX:
 

maximum connection interval in 1.25-ms unit

Condition:( paramID == 0x3)
Size:2 byte(s)
Default:80
Range:0 - 499
INIT_PHYPARAM_CONN_LATENCY:
 

connection latency

Condition:( paramID == 0x4)
Size:2 byte(s)
Default:0
Range:10 - 3200
INIT_PHYPARAM_SUP_TIMEOUT:
 

supervision timeout in 10-ms unit

Condition:( paramID == 0x5)
Size:2 byte(s)
Default:2000
Range:0 - 0xFFFF

Events Generated

The host will send the CommandStatus Event to indicate the parameter has been set.

GapInit_getPhyParam

Opcode:0xFE61
Command Description:
 Get parameters of the specified PHY. Note that phy shall indicate only one PHY.

Command Parameters

phy:

PHY to get parameter of

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 INIT_PHY_1M
0x02 INIT_PHY_2M
0x04 INIT_PHY_CODED
paramId:

Parameter ID

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 INIT_PHYPARAM_SCAN_INTERVAL
0x01 INIT_PHYPARAM_SCAN_WINDOW
0x02 INIT_PHYPARAM_CONN_INT_MIN
0x03 INIT_PHYPARAM_CONN_INT_MAX
0x04 INIT_PHYPARAM_CONN_LATENCY
0x05 INIT_PHYPARAM_SUP_TIMEOUT

Events Generated

The host will send the CommandStatus Event to return the parameter value in question.

Additional Command Status Return Parameters

length:

Length of data

Size:1 byte(s)
Range:
paramId:

Parameter ID

Size:

1 byte(s)

Range:
Value Description
0x00 INIT_PHYPARAM_SCAN_INTERVAL
0x01 INIT_PHYPARAM_SCAN_WINDOW
0x02 INIT_PHYPARAM_CONN_INT_MIN
0x03 INIT_PHYPARAM_CONN_INT_MAX
0x04 INIT_PHYPARAM_CONN_LATENCY
0x05 INIT_PHYPARAM_SUP_TIMEOUT
INIT_PHYPARAM_SCAN_INTERVAL:
 

Phy

Condition:( paramId==0x00)
Size:2 byte(s)
Range:
INIT_PHYPARAM_SCAN_WINDOW:
 
Condition:( paramId==0x01)
Size:2 byte(s)
Range:
INIT_PHYPARAM_CONN_INT_MIN:
 
Condition:( paramId==0x02)
Size:2 byte(s)
Range:
INIT_PHYPARAM_CONN_INT_MAX:
 
Condition:( paramId==0x03)
Size:2 byte(s)
Range:
INIT_PHYPARAM_CONN_LATENCY:
 
Condition:( paramId==0x04)
Size:2 byte(s)
Range:
INIT_PHYPARAM_SUP_TIMEOUT:
 
Condition:( paramId==0x05)
Size:2 byte(s)
Range:

GapInit_connect

Opcode:0xFE62
Command Description:
 Initiate connection with the specified peer device

Command Parameters

peerAddrType:

peer device’s address type

Size:

1 byte(s)

Default:

0x00

Range:
Value Description
0x00 PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID
0x01 PEER_ADDRTYPE_RANDOM_OR_RANDOM_ID
pPeerAddress:

peer device’s address

Size:6 byte(s)
Default:“00:00:00:00:00:00”
Range:Any 6 byte value
phys:

PHY(s) to use for connection

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 INIT_PHY_1M
0x02 INIT_PHY_2M
0x04 INIT_PHY_CODED
timeout:

initiating timeout in ms

Size:2 byte(s)
Default:0
Range:Any 32-bit number

Events Generated

The host will send the CommandStatus Event to indicate whether the connect process has started successfully. If a connection is formed, the GAP_LinkEstablished event will be returned.

GapInit_connectWl

Opcode:0xFE63
Command Description:
 Initiate connection with a device in the whitelist.

Command Parameters

phys:

PHY(s) to use for connection

Size:

1 byte(s)

Default:

0x01

Range:
Value Description
0x01 INIT_PHY_1M
0x02 INIT_PHY_2M
0x04 INIT_PHY_CODED
timeout:

initiating timeout in ms

Size:2 byte(s)
Default:0
Range:Any 32-bit number

Events Generated

The host will send the CommandStatus Event to indicate whether the connect process has started successfully. If a connection is formed, the GAP_LinkEstablished event will be returned

GapInit_cancelConnect

Opcode:0xFE64
Command Description:
 Cancel the ongoing connection process.

Events Generated

The host will send the CommandStatus Event to indicate whether the connect cancel process has started successfully. If the cancel completes, the GAP_ConnectingCancelled event will be returned.

GAP Events

GAP_DeviceInitDone

Opcode:0x0600
Event Description:
 This event is sent to indicate that the device is done initializing.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
devAddr:

The devices address.

Size:6 byte(s)
Range:
dataPktLen:

HC_LE_Data_Packet_Length

Size:2 byte(s)
Range:
numDataPkts:

HC_Total_Num_LE_Data_Packets

Size:1 byte(s)
Range:
IRK:

16 byte Identity Resolving Key (IRK). This is either a randomly generated key or the original key passed in the GAP_DeviceInit command.

Size:16 byte(s)
Range:
CSRK:

16 byte Connection Signature Resolving Key (CSRK). This is either a randomly generated key or the original key passed in the GAP_DeviceInit command.

Size:16 byte(s)
Range:

GAP_LinkEstablished

Opcode:0x0605
Event Description:
 This message is sent when a connection is established with another device. On a Central device, this message is a result for a GAP Establish Link Request. On a Peripheral device, this message is received when a central device initiated a connection.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
Device Address Type:
 

Address type of the connected device.

Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
Device Address:

Address of the connected device

Size:6 byte(s)
Range:Any 6-byte address
connectionHandle:
 

Handle of the connection. This will be used to reference the connection in other “connection based” commands.

Size:2 byte(s)
Range:
connRole:

GAP role of the local device for this connection.

Size:

1 byte(s)

Range:
Value Description
0x01 GAP_PROFILE_BROADCASTER
0x02 GAP_PROFILE_OBSERVER
0x04 GAP_PROFILE_PERIPHERAL
0x08 GAP_PROFILE_CENTRAL
connInterval:

Connection interval used on this connection (* 1.25 ms)

Size:2 byte(s)
Range:
connLatency:

Connection latency used on this connection.

Size:2 byte(s)
Range:
connTimeout:

Connection supervision timeout (* 10 ms)

Size:2 byte(s)
Range:
clockAccuracy:

Clock accuracy (in ppm) of the connected device.

Size:1 byte(s)
Range:

GAP_LinkTerminated

Opcode:0x0606
Event Description:
 This message is sent whenever a link is terminated.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
connectionHandle:
 

Connection Handle of terminated link

Size:2 byte(s)
Range:
reason:

Reason the link was terminated

Size:1 byte(s)
Range:See Status Table

GAP_LinkParamUpdate

Opcode:0x0607
Event Description:
 This message is sent whenever connection parameter update is completed

Event Parameters

Status:
Size:1 byte(s)
Range:See Status Table
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:
connInterval:

New connection interval in use after the update (* 1.25 ms).

Size:2 byte(s)
Range:
connLatency:

New connection latency in use after the update

Size:2 byte(s)
Range:
connTimeout:

New connection supervision timeout in use after the update (* 10 ms)

Size:2 byte(s)
Range:

GAP_SignatureUpdated

Opcode:0x0609
Event Description:
 This message is sent whenever sign counter is updated (incremented). This message will be generated when a new sign counter is received from a connected device or when this device increments its own sign counter.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
addrType:

Address type of the update

Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
devAddr:

The device address of the sign counter that changed. It may be the local device or a connected device.

Size:6 byte(s)
Range:
signCounter:

The new sign counter value for the referenced device.

Size:4 byte(s)
Range:

GAP_PasskeyNeeded

Opcode:0x060B
Event Description:
 This event is generated during the pairing process if a passkey is needed.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
deviceAddr:

Address of the pairing device.

Size:6 byte(s)
Range:
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:
uiInputs:

Whether to ask for a passcode.

Size:1 byte(s)
Range:
uiOutputs:

Whether to display a passcode

Size:1 byte(s)
Range:
numComparison:

Numeric Comparison value if nonzero.

Size:4 byte(s)
Range:

GAP_AuthenticationComplete

Opcode:0x060A
Event Description:
 This event is generated whenever the pairing process is completed (pass or fail).

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x01 SMP_PAIRING_FAILED_PASSKEY_ENTRY_FAILED
0x02 SMP_PAIRING_FAILED_OOB_NOT_AVAIL
0x03 SMP_PAIRING_FAILED_AUTH_REQ
0x04 SMP_PAIRING_FAILED_CONFIRM_VALUE
0x05 SMP_PAIRING_FAILED_NOT_SUPPORTED
0x06 SMP_PAIRING_FAILED_ENC_KEY_SIZE
0x07 SMP_PAIRING_FAILED_CMD_NOT_SUPPORTED
0x08 SMP_PAIRING_FAILED_UNSPECIFIED
0x09 SMP_PAIRING_FAILED_REPEATED_ATTEMPTS
0x0A SMP_PAIRING_FAILED_INVALID_PARAMETERS
0x0B SMP_PAIRING_FAILED_DHKEY_CHECK_FAILED
0x0C SMP_PAIRING_FAILED_NUM_COMPARISON_FAILED
0x0D SMP_PAIRING_FAILED_BREDR_PAIR_IN_PROGRESS
0x0E SMP_PAIRING_FAILED_CT_KEYDER_NOT_ALLOWED
0x0F Command Disallowed
0x11 Unsupported Feature Or Parameter Value
0x12 Invalid HCI Command Parameters
0x17 bleTimeout
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:
authState:

Pairing / bonding state of the link

Size:

1 byte(s)

Range:
Value Description
0x01 Bonding
0x04 MITM
0x08 SC
0x10 KP
0x20 CT2
securityInfo:

Whether or not the securityInfo parameters are enabled in this event

Size:

1 byte(s)

Range:
Value Description
0 Disable
1 Enable
securityInfo.LTKsize:
 

Encryption key size

Size:1 byte(s)
Range:
securityInfo.LTK:
 

Long Term Key

Size:16 byte(s)
Range:
securityInfo.DIV:
 

DIV for this LTK

Size:2 byte(s)
Range:
securityInfo.rand:
 

Random number for this LTK

Size:8 byte(s)
Range:
devSecInfo:

Whether or not the devSecInfo parameters are enabled in this event.

Size:

1 byte(s)

Range:
Value Description
0 Disable
1 Enable
devSecInfo.LTKsize:
 

Encryption key size

Size:1 byte(s)
Range:
devSecInfo.LTK:

Long term key

Size:16 byte(s)
Range:
devSecInfo.DIV:

Div for this LTK

Size:2 byte(s)
Range:
devSecInfo.rand:
 

Random number for this LTK

Size:8 byte(s)
Range:
identityInfo:

Whether the identityInfo parameters are enabled in this event.

Size:

1 byte(s)

Range:
Value Description
0 Disable
1 Enable
identityInfo.IRK:
 

Identity Resolving Key used to resolve private resolvable addresses.

Size:16 byte(s)
Range:
identityInfo.BD_ADDR:
 

The connected devices Public Address.

Size:6 byte(s)
Range:
identityInfo.addrType:
 

The connected device’s address type

Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
signingInfo:

Whether the signingInfo parameters are enabled in this event.

Size:

1 byte(s)

Range:
Value Description
0 Disable
1 Enable
signingInfo.CSRK:
 

Connected Signature Resolving Key

Size:16 byte(s)
Range:
signingInfo.signCounter:
 

The connected devices current sign counter

Size:4 byte(s)
Range:

GAP_SlaveRequestedSecurity

Opcode:0x060C
Event Description:
 This message is generated when the master device receives an SM Slave Request from the connected slave device.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:
deviceAddr:

The connected devices address.

Size:6 byte(s)
Range:
authReq:

Requested pairing / bonding properties from the slave.

Size:

1 byte(s)

Range:
Value Description
0x01 Bonding
0x04 MITM
0x08 SC
0x10 KP
0x20 CT2

GAP_BondComplete

Opcode:0x060E
Event Description:
 This message is sent when a bond is complete and the connection is encrypted.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x06 KEY_REQ_REJECTED
0x1A KEY_REQ_UNSUPPORTED
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:

GAP_PairingRequested

Opcode:0x060F
Event Description:
 This message is sent when a pairing request is received from a master..

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:
ioCap:

I/O Capabilities of the connected device

Size:

1 byte(s)

Range:
Value Description
0x00 DisplayOnly
0x01 DisplayYesNo
0x02 KeyboardOnly
0x03 NoInputNoOutput
0x04 KeyboardDisplay
oobDataFlag:

Wheter OOB data is enabled or not.

Size:

1 byte(s)

Range:
Value Description
0 Disable
1 Enable
authReq:

Type of pairing / bonding that is requested

Size:

1 byte(s)

Range:
Value Description
0x01 Bonding
0x04 MITM
0x08 SC
0x10 KP
0x20 CT2
maxEncKeySize:

Maximum encryption key size to supported

Size:1 byte(s)
Range:
keyDist:

Desired key distribution

Size:

1 byte(s)

Range:
Value Description
0x01 GAPBOND_KEYDIST_SENCKEY
0x02 GAPBOND_KEYDIST_SIDKEY
0x04 GAPBOND_KEYDIST_SSIGN
0x08 GAPBOND_KEYDIST_SLINK
0x10 GAPBOND_KEYDIST_MENCKEY
0x20 GAPBOND_KEYDIST_MIDKEY
0x40 GAPBOND_KEYDIST_MSIGN
0x80 GAPBOND_KEYDIST_MLINK

GAP_ConnectingCancelled

Opcode:0x0615
Event Description:
 This event is sent when a connection has been canceled.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER

SM_GetEccKeys

Opcode:0x0610
Event Description:
 This message is sent when ECC Keys have been generated by the BLE Stack.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
privateKey:

Private key to use

Size:32 byte(s)
Range:
publicKeyX:

Public Key X-coordinate.

Size:32 byte(s)
Range:
publicKeyY:

Public Key Y-coordinate.

Size:32 byte(s)
Range:

SM_GetDHKey

Opcode:0x0611
Event Description:
 This message is sent when Diffie-Hellman Key have been generated by the BLE Stack.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
DHKey:

Diffie-Hellman Key

Size:32 byte(s)
Range:

GAP_LinkParamUpdateRequest

Opcode:0x0612
Event Description:
 This message is sent whenever connection parameter update is completed.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
connectionHandle:
 

Connection Handle of link

Size:2 byte(s)
Range:
minConnInterval:
 

Minimum desired connection interval (n * 1.25 ms)

Size:2 byte(s)
Range:
maxConnInterval:
 

Maximum desired connection interval (n * 1.25 ms)

Size:2 byte(s)
Range:
connLatency:

Desired connection latency

Size:2 byte(s)
Range:
connTimeout:

Desired connection timeout (n * 10 ms)

Size:2 byte(s)
Range:

GAP_Advertiser/Scanner_Event

Opcode:0x0613
Event Description:
 Gap Advertising / Scanning Event.

Event Parameters

Status:
Size:

1 byte(s)

Range:
Value Description
0x00 SUCCESS
0x12 bleIncorrectMode
0x02 INVALIDPARAMETER
event:
Size:

4 byte(s)

Range:
Value Description
0x00000001 GAP_EVT_ADV_START_AFTER_ENABLE
0x00000002 GAP_EVT_ADV_END_AFTER_DISABLE
0x00000004 GAP_EVT_ADV_START
0x00000008 GAP_EVT_ADV_END
0x00000010 GAP_EVT_ADV_SET_TERMINATED
0x00000020 GAP_EVT_SCAN_REQ_RECEIVED
0x00000040 GAP_EVT_ADV_DATA_TRUNCATED
0x00010000 GAP_EVT_SCAN_ENABLED
0x00020000 GAP_EVT_SCAN_DISABLED
0x00040000 GAP_EVT_SCAN_PRD_ENDED
0x00080000 GAP_EVT_SCAN_DUR_ENDED
0x00100000 GAP_EVT_SCAN_INT_ENDED
0x00200000 GAP_EVT_SCAN_WND_ENDED
0x00400000 GAP_EVT_ADV_REPORT
0x00800000 GAP_EVT_ADV_REPORT_FULL
0x01000000 GAP_EVT_PRD_ADV_SYNC_ESTABLISHED
0x02000000 GAP_EVT_PRD_ADV_REPORT
0x04000000 GAP_EVT_PRD_ADV_SYNC_LOST
0x80000000 GAP_EVT_INSUFFICIENT_MEMORY
advertising handle:
 
Condition:( eventID<0x00010000)
Size:1 byte(s)
Range:
data length:
Condition:( eventID<0x00010000)
Size:1 byte(s)
Range:
connection handle:
 
Condition:( eventID==0x00000010)
Size:2 byte(s)
Range:
num of completed adv events:
 
Condition:( eventID==0x00000010)
Size:1 byte(s)
Range:
scanner address type:
 
Condition:

( eventID==0x00000020)

Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
scanner address:
 
Condition:( eventID==0x00000020)
Size:6 byte(s)
Range:
truncated adv data size:
 
Condition:( eventID==0x00000040)
Size:1 byte(s)
Range:
attempted adv data size:
 
Condition:( eventID==0x00000040)
Size:2 byte(s)
Range:
reason:
Condition:

( eventID==0x00020000)

Size:

1 byte(s)

Range:
Value Description
0x00 SCAN_END_REASON_USR_REQ
0x01 SCAN_END_REASON_DUR_EXP
number of reports:
 
Condition:( eventID==0x00020000)
Size:1 byte(s)
Range:
evtType:
Condition:

( eventID==0x00400000)

Size:

1 byte(s)

Range:
Value Description
0x0000 AE Undir NC/NS | Data Complete
0x0001 AE Undir Conn | Data Complete
0x0002 AE Undir Scan | Data Complete
0x0003 Invalid Event Type!
0x0004 AE Dir NC/NS | Data Complete
0x0005 AE Dir Conn | Data Complete
0x0006 AE Dir Scan | Data Complete
0x0007 Invalid Event Type!
0x0008 Invalid Event Type!
0x0009 Invalid Event Type!
0x000A AE Scan Rsp to AE Undir Scan | Data Complete
0x000B Invalid Event Type!
0x000C Invalid Event Type!
0x000D Invalid Event Type!
0x000E AE Scan Rsp to AE Dir Scan | Data Complete
0x000F Invalid Event Type!
0x0010 Legacy ADV_NONCONN | Data Complete
0x0011 Invalid Event Type!
0x0012 Legacy ADV_SCAN | Data Complete
0x0013 Legacy ADV_IND | Data Complete
0x0014 Invalid Event Type!
0x0015 Legacy ADV_DIR | Data Complete
0x0016 Invalid Event Type!
0x0017 Invalid Event Type!
0x0018 Invalid Event Type!
0x0019 Invalid Event Type!
0x001A Legacy SCAN_RSP to ADV_SCAN | Data Complete
0x001B Legacy SCAN_RSP to ADV_IND | Data Complete
0x001C Invalid Event Type!
0x001D Invalid Event Type!
0x001E Invalid Event Type!
0x001F Invalid Event Type!
0x0020 AE Undir NC/NS | Data Incomplete, More to Come
0x0021 AE Undir Conn | Data Incomplete, More to Come
0x0022 AE Undir Scan | Data Incomplete, More to Come
0x0023 Invalid Event Type!
0x0024 AE Dir NC/NS | Data Incomplete, More to Come
0x0025 AE Dir Conn | Data Incomplete, More to Come
0x0026 AE Dir Scan | Data Incomplete, More to Come
0x0027 Invalid Event Type!
0x0028 Invalid Event Type!
0x0029 Invalid Event Type!
0x002A AE Scan Rsp to AE Undir Scan | Data Incomplete, More to Come
0x002B Invalid Event Type!
0x002C Invalid Event Type!
0x002D Invalid Event Type!
0x002E AE Scan Rsp to AE Dir Scan | Data Incomplete, More to Come
0x002F Invalid Event Type!
0x0030 Legacy ADV_NONCONN | Data Incomplete, More to Come
0x0031 Invalid Event Type!
0x0032 Legacy ADV_SCAN | Data Incomplete, More to Come
0x0033 Legacy ADV_IND | Data Incomplete, More to Come
0x0034 Invalid Event Type!
0x0035 Legacy ADV_DIR | Data Incomplete, More to Come
0x0036 Invalid Event Type!
0x0037 Invalid Event Type!
0x0038 Invalid Event Type!
0x0039 Invalid Event Type!
0x003A Legacy SCAN_RSP to ADV_SCAN | Data Incomplete, More to Come
0x003B Legacy SCAN_RSP to ADV_IND | Data Incomplete, More to Come
0x003C Invalid Event Type!
0x003D Invalid Event Type!
0x003E Invalid Event Type!
0x003F Invalid Event Type!
0x0040 AE Undir NC/NS | Data Incomplete, Truncated
0x0041 AE Undir Conn | Data Incomplete, Truncated
0x0042 AE Undir Scan | Data Incomplete, Truncated
0x0043 Invalid Event Type!
0x0044 AE Dir NC/NS | Data Incomplete, Truncated
0x0045 AE Dir Conn | Data Incomplete, Truncated
0x0046 AE Dir Scan | Data Incomplete, Truncated
0x0047 Invalid Event Type!
0x0048 Invalid Event Type!
0x0049 Invalid Event Type!
0x004A AE Scan Rsp to AE Undir Scan | Data Incomplete, Truncated
0x004B Invalid Event Type!
0x004C Invalid Event Type!
0x004D Invalid Event Type!
0x004E AE Scan Rsp to AE Dir Scan | Data Incomplete, Truncated
0x004F Invalid Event Type!
0x0050 Legacy ADV_NONCONN | Data Incomplete, Truncated
0x0051 Invalid Event Type!
0x0052 Legacy ADV_SCAN | Data Incomplete, Truncated
0x0053 Legacy ADV_IND | Data Incomplete, Truncated
0x0054 Invalid Event Type!
0x0055 Legacy ADV_DIR | Data Incomplete, Truncated
0x0056 Invalid Event Type!
0x0057 Invalid Event Type!
0x0058 Invalid Event Type!
0x0059 Invalid Event Type!
0x005A Legacy SCAN_RSP to ADV_SCAN | Data Incomplete, Truncated
0x005B Legacy SCAN_RSP to ADV_IND | Data Incomplete, Truncated
0x005C Invalid Event Type!
0x005D Invalid Event Type!
0x005E Invalid Event Type!
0x005F Invalid Event Type!
0x0060 AE Undir NC/NS | Reserved!
0x0061 AE Undir Conn | Reserved!
0x0062 AE Undir Scan | Reserved!
0x0063 Invalid Event Type!
0x0064 AE Dir NC/NS | Reserved!
0x0065 AE Dir Conn | Reserved!
0x0066 AE Dir Scan | Reserved!
0x0067 Invalid Event Type!
0x0068 Invalid Event Type!
0x0069 Invalid Event Type!
0x006A AE Scan Rsp to AE Undir Scan | Reserved!
0x006B Invalid Event Type!
0x006C Invalid Event Type!
0x006D Invalid Event Type!
0x006E AE Scan Rsp to AE Dir Scan | Reserved!
0x006F Invalid Event Type!
0x0070 Legacy ADV_NONCONN | Reserved!
0x0071 Invalid Event Type!
0x0072 Legacy ADV_SCAN | Reserved!
0x0073 Legacy ADV_IND | Reserved!
0x0074 Invalid Event Type!
0x0075 Legacy ADV_DIR | Reserved!
0x0076 Invalid Event Type!
0x0077 Invalid Event Type!
0x0078 Invalid Event Type!
0x0079 Invalid Event Type!
0x007A Legacy SCAN_RSP to ADV_SCAN | Reserved!
0x007B Legacy SCAN_RSP to ADV_IND | Reserved!
0x007C Invalid Event Type!
0x007D Invalid Event Type!
0x007E Invalid Event Type!
0x007F Invalid Event Type!
0x0080 AE Undir NC/NS | Data Complete (Previous Truncated)
0x0081 AE Undir Conn | Data Complete (Previous Truncated)
0x0082 AE Undir Scan | Data Complete (Previous Truncated)
0x0083 Invalid Event Type!
0x0084 AE Dir NC/NS | Data Complete (Previous Truncated)
0x0085 AE Dir Conn | Data Complete (Previous Truncated)
0x0086 AE Dir Scan | Data Complete (Previous Truncated)
0x0087 Invalid Event Type!
0x0088 Invalid Event Type!
0x0089 Invalid Event Type!
0x008A AE Scan Rsp to AE Undir Scan | Data Complete (Previous Truncated)
0x008B Invalid Event Type!
0x008C Invalid Event Type!
0x008D Invalid Event Type!
0x008E AE Scan Rsp to AE Dir Scan | Data Complete (Previous Truncated)
0x008F Invalid Event Type!
0x0090 Legacy ADV_NONCONN | Data Complete (Previous Truncated)
0x0091 Invalid Event Type!
0x0092 Legacy ADV_SCAN | Data Complete (Previous Truncated)
0x0093 Legacy ADV_IND | Data Complete (Previous Truncated)
0x0094 Invalid Event Type!
0x0095 Legacy ADV_DIR | Data Complete (Previous Truncated)
0x0096 Invalid Event Type!
0x0097 Invalid Event Type!
0x0098 Invalid Event Type!
0x0099 Invalid Event Type!
0x009A Legacy SCAN_RSP to ADV_SCAN | Data Complete (Previous Truncated)
0x009B Legacy SCAN_RSP to ADV_IND | Data Complete (Previous Truncated)
0x009C Invalid Event Type!
0x009D Invalid Event Type!
0x009E Invalid Event Type!
0x009F Invalid Event Type!
0x00A0 AE Undir NC/NS | Data Incomplete, More to Come (Previous Truncated)
0x00A1 AE Undir Conn | Data Incomplete, More to Come (Previous Truncated)
0x00A2 AE Undir Scan | Data Incomplete, More to Come (Previous Truncated)
0x00A3 Invalid Event Type!
0x00A4 AE Dir NC/NS | Data Incomplete, More to Come (Previous Truncated)
0x00A5 AE Dir Conn | Data Incomplete, More to Come (Previous Truncated)
0x00A6 AE Dir Scan | Data Incomplete, More to Come (Previous Truncated)
0x00A7 Invalid Event Type!
0x00A8 Invalid Event Type!
0x00A9 Invalid Event Type!
0x00AA AE Scan Rsp to AE Undir Scan | Data Incomplete, More to Come (Previous Truncated)
0x00AB Invalid Event Type!
0x00AC Invalid Event Type!
0x00AD Invalid Event Type!
0x00AE AE Scan Rsp to AE Dir Scan | Data Incomplete, More to Come (Previous Truncated)
0x00AF Invalid Event Type!
0x00B0 Legacy ADV_NONCONN | Data Incomplete, More to Come (Previous Truncated)
0x00B1 Invalid Event Type!
0x00B2 Legacy ADV_SCAN | Data Incomplete, More to Come (Previous Truncated)
0x00B3 Legacy ADV_IND | Data Incomplete, More to Come (Previous Truncated)
0x00B4 Invalid Event Type!
0x00B5 Legacy ADV_DIR | Data Incomplete, More to Come (Previous Truncated)
0x00B6 Invalid Event Type!
0x00B7 Invalid Event Type!
0x00B8 Invalid Event Type!
0x00B9 Invalid Event Type!
0x00BA Legacy SCAN_RSP to ADV_SCAN | Data Incomplete, More to Come (Previous Truncated)
0x00BB Legacy SCAN_RSP to ADV_IND | Data Incomplete, More to Come (Previous Truncated)
0x00BC Invalid Event Type!
0x00BD Invalid Event Type!
0x00BE Invalid Event Type!
0x00BF Invalid Event Type!
0x00C0 Invalid Data Status!
0x00C1 Invalid Data Status!
0x00C2 Invalid Data Status!
0x00C3 Invalid Event Type!
0x00C4 Invalid Data Status!
0x00C5 Invalid Data Status!
0x00C6 Invalid Data Status!
0x00C7 Invalid Event Type!
0x00C8 Invalid Event Type!
0x00C9 Invalid Event Type!
0x00CA Invalid Data Status!
0x00CB Invalid Event Type!
0x00CC Invalid Event Type!
0x00CD Invalid Event Type!
0x00CE Invalid Data Status!
0x00CF Invalid Event Type!
0x00D0 Invalid Data Status!
0x00D1 Invalid Event Type!
0x00D2 Invalid Data Status!
0x00D3 Invalid Data Status!
0x00D4 Invalid Event Type!
0x00D5 Invalid Data Status!
0x00D6 Invalid Event Type!
0x00D7 Invalid Event Type!
0x00D8 Invalid Event Type!
0x00D9 Invalid Event Type!
0x00DA Invalid Data Status!
0x00DB Invalid Data Status!
0x00DC Invalid Event Type!
0x00DD Invalid Event Type!
0x00DE Invalid Event Type!
0x00DF Invalid Event Type!
0x00E0 Invalid Data Status!
0x00E1 Invalid Data Status!
0x00E2 Invalid Data Status!
0x00E3 Invalid Event Type!
0x00E4 Invalid Data Status!
0x00E5 Invalid Data Status!
0x00E6 Invalid Data Status!
0x00E7 Invalid Event Type!
0x00E8 Invalid Event Type!
0x00E9 Invalid Event Type!
0x00EA Invalid Data Status!
0x00EB Invalid Event Type!
0x00EC Invalid Event Type!
0x00ED Invalid Event Type!
0x00EE Invalid Data Status!
0x00EF Invalid Event Type!
0x00F0 Invalid Data Status!
0x00F1 Invalid Event Type!
0x00F2 Invalid Data Status!
0x00F3 Invalid Data Status!
0x00F4 Invalid Event Type!
0x00F5 Invalid Data Status!
0x00F6 Invalid Event Type!
0x00F7 Invalid Event Type!
0x00F8 Invalid Event Type!
0x00F9 Invalid Event Type!
0x00FA Invalid Data Status!
0x00FB Invalid Data Status!
0x00FC Invalid Event Type!
0x00FD Invalid Event Type!
0x00FE Invalid Event Type!
0x00FF Invalid Event Type!
addrType:
Condition:

( eventID==0x00400000)

Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
address:
Condition:( eventID==0x00400000)
Size:6 byte(s)
Range:
primPhy:
Condition:

( eventID==0x00400000)

Size:

1 byte(s)

Range:
Value Description
0x00 SCANNED_PHY_NONE
0x01 SCANNED_PHY_1M
0x02 SCANNED_PHY_2M
0x03 SCANNED_PHY_CODED
secPhy:
Condition:

( eventID==0x00400000)

Size:

1 byte(s)

Range:
Value Description
0x00 SCANNED_PHY_NONE
0x01 SCANNED_PHY_1M
0x02 SCANNED_PHY_2M
0x03 SCANNED_PHY_CODED
advSid:
Condition:( eventID==0x00400000)
Size:1 byte(s)
Range:
txPower:
Condition:( eventID==0x00400000)
Size:1 byte(s)
Range:
rssi:
Condition:( eventID==0x00400000)
Size:1 byte(s)
Range:
directAddrType:
Condition:

( eventID==0x00400000)

Size:

1 byte(s)

Range:
Value Description
0x00 ADDRTYPE_PUBLIC
0x01 ADDRTYPE_RANDOM
0x02 ADDRTYPE_PUBLIC_ID
0x03 ADDRTYPE_RANDOM_ID
0xFE ADDRTYPE_RANDOM_NR
0xFF ADDRTYPE_NONE
directAddr:
Condition:( eventID==0x00400000)
Size:6 byte(s)
Range:
periodicAdvInt:
Condition:( eventID==0x00400000)
Size:2 byte(s)
Range:
dataLen:
Condition:( eventID==0x00400000)
Size:2 byte(s)
Range:
data:
Condition:( eventID==0x00400000)
Size:DataLength byte(s)
Range: