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

signalIdentifier

Signal ID for L2CAP Connection Parameter Update Request. 0 for LL Connection Parameter Request. This must match the signal ID provided by the corresponding update request.

Size

1 byte(s)

Default

1

Range

0 - 255

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_RegisterConnEvent

Opcode

0xFE13

Command Description

Register/Unregister to receive connection event information.

Command Parameters

Action

Whether to register or unregister.

Size

1 byte(s)

Default

0

Range

Value

Description

0x00

GAP_CB_REGISETER

0x01

GAP_CB_UNREGISTER

Connection Handle

Identifies the connection. If 0xFFFF, apply to all connections. Else, apply only for a specific connection

Size

2 byte(s)

Default

0xFFFF

Range

0x0000 to 0xFFFD

Events Generated

When this command is received, the host will send the CommandStatus Event. If successfully registers, the GAP_ConnectionEventNotice Event will be generated after each connection event.

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. the time of scan duration shall be greater than the time of scan window.

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. shall be equal to or greater than window.

Size

2 byte(s)

Default

800

Range

4-16384

window

scan window in 625-us unit

Size

2 byte(s)

Default

800

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

periodicAdvInt
Size

2 byte(s)

Range

dataLen
Size

2 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

GAP_ConnectionEventNotice

Opcode

0x0616

Event Description

This event is sent to when a connection handle has been registered for connection event notices after each connection event.

Event Parameters

Status

Status of Connection Event

Size

1 byte(s)

Range

Value

Description

0x00

GAP_CONN_EVT_STAT_SUCCESS

0x01

GAP_CONN_EVT_STAT_CRC_ERROR

0x02

GAP_CONN_EVT_STAT_MISSED

handle

Connection handle of connection event

Size

2 byte(s)

Range

0-0xFFFD

channel

BLE RF channel index of connection event

Size

1 byte(s)

Range

0-39

phy

PHY of connection event

Size

1 byte(s)

Range

Value

Description

0x01

GAP_CONN_EVT_PHY_1MBPS

0x02

GAP_CONN_EVT_PHY_2MBPS

0x04

GAP_CONN_EVT_PHY_CODED

lastRssi

RSSI of last packet received

Size

1 byte(s)

Range

-128 - 127

packets

Number of packets received for this connection event

Size

2 byte(s)

Range

0-0xFFFF

errors

Total number of CRC errors for the entire connection

Size

2 byte(s)

Range

0-0xFFFF

nextTaskType

Type of next BLE task

Size

1 byte(s)

Range

Value

Description

0x01

GAP_CONN_EVT_TASK_TYPE_ADV

0x02

GAP_CONN_EVT_TASK_TYPE_SCAN

0x04

GAP_CONN_EVT_TASK_TYPE_INIT

0x40

GAP_CONN_EVT_TASK_TYPE_SLAVE

0x80

GAP_CONN_EVT_TASK_TYPE_MASTER

0xFF

GAP_CONN_EVT_TASK_TYPE_NONE

nextTaskTime

Time to next BLE task (in us). Note that the actual time will be shorter due to latency from sending this event over the transport layer. If 0xFFFFFFFF, there is no next RF command scheduled.

Size

4 byte(s)

Range

0-0xFFFFFFFF

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

signalIdentifier

L2CAP signal identifier. 0 for LL Connection Parameter Request

Size

1 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

channel
Condition

( eventID==0x00000020)

Size

1 byte(s)

Range

RSSI
Condition

( eventID==0x00000020)

Size

1 byte(s)

Range

Value

Description

127

Invalid RSSI

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