Macros | |
#define | DM_SEC_HCI_ERR_BASE 0x20 |
Base value for HCI error status values for DM_SEC_PAIR_CMPL_IND. More... | |
Typedefs | |
typedef uint8_t | dmConnId_t |
Connection identifier. More... | |
typedef uint8_t | dmSyncId_t |
Synchronization identifier. More... | |
typedef void(* | dmCback_t) (dmEvt_t *pDmEvt) |
Callback type. More... | |
GAP Device Role | |
#define | DM_ROLE_MASTER HCI_ROLE_MASTER |
Role is master. More... | |
#define | DM_ROLE_SLAVE HCI_ROLE_SLAVE |
Role is slave. More... | |
GAP Discovery Mode | |
When setup as a discoverable device, these are the possible modes of discovery. | |
#define | DM_DISC_MODE_NONE 0 |
GAP non-discoverable. More... | |
#define | DM_DISC_MODE_LIMITED 1 |
GAP limited discoverable mode. More... | |
#define | DM_DISC_MODE_GENERAL 2 |
GAP general discoverable mode. More... | |
GAP Advertising Type | |
Type of connectable or disconverable advertising to perform. | |
#define | DM_ADV_CONN_UNDIRECT 0 |
Connectable and scannable undirected advertising. More... | |
#define | DM_ADV_CONN_DIRECT 1 |
Connectable directed advertising. More... | |
#define | DM_ADV_SCAN_UNDIRECT 2 |
Scannable undirected advertising. More... | |
#define | DM_ADV_NONCONN_UNDIRECT 3 |
Non-connectable and non-scannable undirected advertising. More... | |
#define | DM_ADV_CONN_DIRECT_LO_DUTY 4 |
Connectable directed low duty cycle advertising. More... | |
GAP AE Advertising Types | |
#define | DM_EXT_ADV_CONN_UNDIRECT 5 |
Connectable undirected advertising. More... | |
#define | DM_EXT_ADV_NONCONN_DIRECT 6 |
Non-connectable and non-scannable directed advertising. More... | |
#define | DM_EXT_ADV_SCAN_DIRECT 7 |
Scannable directed advertising. More... | |
#define | DM_ADV_NONE 255 |
For internal use only. More... | |
GAP Advertising Report Type | |
#define | DM_RPT_CONN_UNDIRECT 0 |
Connectable and scannable undirected advertising. More... | |
#define | DM_RPT_CONN_DIRECT 1 |
Connectable directed advertising. More... | |
#define | DM_RPT_SCAN_UNDIRECT 2 |
Scannable undirected advertising. More... | |
#define | DM_RPT_NONCONN_UNDIRECT 3 |
Non-connectable undirected advertising. More... | |
#define | DM_RPT_SCAN_RESPONSE 4 |
Scan response. More... | |
GAP Advertising Data Location | |
Whether data is located in the advertising data or in the scan response data | |
#define | DM_DATA_LOC_ADV 0 |
Locate data in the advertising data. More... | |
#define | DM_DATA_LOC_SCAN 1 |
Locate data in the scan response data. More... | |
GAP Scan Type | |
When setup as a connectable or observer device, this is the type of scanning to perform. | |
#define | DM_SCAN_TYPE_PASSIVE 0 |
Passive scan. More... | |
#define | DM_SCAN_TYPE_ACTIVE 1 |
Active scan. More... | |
GAP Advertising Channel Map | |
#define | DM_ADV_CHAN_37 HCI_ADV_CHAN_37 |
Advertising channel 37. More... | |
#define | DM_ADV_CHAN_38 HCI_ADV_CHAN_38 |
Advertising channel 38. More... | |
#define | DM_ADV_CHAN_39 HCI_ADV_CHAN_39 |
Advertising channel 39. More... | |
#define | DM_ADV_CHAN_ALL (HCI_ADV_CHAN_37 | HCI_ADV_CHAN_38 | HCI_ADV_CHAN_39) |
All advertising channels. More... | |
DM Client IDs | |
The client ID parameter to function DmConnRegister() | |
#define | DM_CLIENT_ID_ATT 0 |
Identifier for attribute protocol, for internal use only. More... | |
#define | DM_CLIENT_ID_SMP 1 |
Identifier for security manager protocol, for internal use only. More... | |
#define | DM_CLIENT_ID_DM 2 |
Identifier for device manager, for internal use only. More... | |
#define | DM_CLIENT_ID_APP 3 |
Identifier for the application. More... | |
#define | DM_CLIENT_ID_L2C 4 |
Identifier for L2CAP. More... | |
#define | DM_CLIENT_ID_MAX 5 |
For internal use only. More... | |
DM Unknown IDs | |
#define | DM_CONN_ID_NONE 0 |
Unknown connection ID or other error. More... | |
#define | DM_SYNC_ID_NONE 0 |
Unknown sync ID or other error. More... | |
#define | DM_CIG_ID_NONE 0xFF |
Unknown Connected Isochronous Group (CIG) ID or other error. More... | |
#define | DM_CIS_ID_NONE 0xFF |
Unknown Connected Isochronous Stream (CIS) ID or other error. More... | |
GAP Address Type | |
The address type to use over the air or that is associated with a received address. | |
#define | DM_ADDR_PUBLIC 0x00 |
Public device address. More... | |
#define | DM_ADDR_RANDOM 0x01 |
Random device address. More... | |
#define | DM_ADDR_PUBLIC_IDENTITY 0x02 |
Public identity address (corresponds to resolved private address) More... | |
#define | DM_ADDR_RANDOM_IDENTITY 0x03 |
Random (static) identity address (corresponds to resolved private address) More... | |
#define | DM_ADDR_RANDOM_UNRESOLVED 0xFE |
Random device address (Controller unable to resolve) More... | |
#define | DM_ADDR_NONE 0xFF |
No address provided (anonymous) More... | |
GAP Advertising Data Types | |
#define | DM_ADV_TYPE_FLAGS 0x01 |
Flag bits. More... | |
#define | DM_ADV_TYPE_16_UUID_PART 0x02 |
Partial list of 16 bit UUIDs. More... | |
#define | DM_ADV_TYPE_16_UUID 0x03 |
Complete list of 16 bit UUIDs. More... | |
#define | DM_ADV_TYPE_32_UUID_PART 0x04 |
Partial list of 32 bit UUIDs. More... | |
#define | DM_ADV_TYPE_32_UUID 0x05 |
Complete list of 32 bit UUIDs. More... | |
#define | DM_ADV_TYPE_128_UUID_PART 0x06 |
Partial list of 128 bit UUIDs. More... | |
#define | DM_ADV_TYPE_128_UUID 0x07 |
Complete list of 128 bit UUIDs. More... | |
#define | DM_ADV_TYPE_SHORT_NAME 0x08 |
Shortened local name. More... | |
#define | DM_ADV_TYPE_LOCAL_NAME 0x09 |
Complete local name. More... | |
#define | DM_ADV_TYPE_TX_POWER 0x0A |
TX power level. More... | |
#define | DM_ADV_TYPE_SM_TK_VALUE 0x10 |
Security manager TK value. More... | |
#define | DM_ADV_TYPE_SM_OOB_FLAGS 0x11 |
Security manager OOB flags. More... | |
#define | DM_ADV_TYPE_CONN_INTERVAL 0x12 |
Slave preferred connection interval. More... | |
#define | DM_ADV_TYPE_SIGNED_DATA 0x13 |
Signed data. More... | |
#define | DM_ADV_TYPE_16_SOLICIT 0x14 |
Service soliticiation list of 16 bit UUIDs. More... | |
#define | DM_ADV_TYPE_128_SOLICIT 0x15 |
Service soliticiation list of 128 bit UUIDs. More... | |
#define | DM_ADV_TYPE_SERVICE_DATA 0x16 |
Service data - 16-bit UUID. More... | |
#define | DM_ADV_TYPE_PUBLIC_TARGET 0x17 |
Public target address. More... | |
#define | DM_ADV_TYPE_RANDOM_TARGET 0x18 |
Random target address. More... | |
#define | DM_ADV_TYPE_APPEARANCE 0x19 |
Device appearance. More... | |
#define | DM_ADV_TYPE_ADV_INTERVAL 0x1A |
Advertising interval. More... | |
#define | DM_ADV_TYPE_BD_ADDR 0x1B |
LE Bluetooth device address. More... | |
#define | DM_ADV_TYPE_ROLE 0x1C |
LE role. More... | |
#define | DM_ADV_TYPE_32_SOLICIT 0x1F |
Service soliticiation list of 32 bit UUIDs. More... | |
#define | DM_ADV_TYPE_SVC_DATA_32 0x20 |
Service data - 32-bit UUID. More... | |
#define | DM_ADV_TYPE_SVC_DATA_128 0x21 |
Service data - 128-bit UUID. More... | |
#define | DM_ADV_TYPE_LESC_CONFIRM 0x22 |
LE Secure Connections confirm value. More... | |
#define | DM_ADV_TYPE_LESC_RANDOM 0x23 |
LE Secure Connections random value. More... | |
#define | DM_ADV_TYPE_URI 0x24 |
URI. More... | |
#define | DM_ADV_TYPE_INDOOR_POS 0x25 |
Indoor positioning service. More... | |
#define | DM_ADV_TYPE_TRANS_DISC 0x26 |
Transport discovery service. More... | |
#define | DM_ADV_TYPE_LE_SUP_FEAT 0x27 |
LE supported features. More... | |
#define | DM_ADV_TYPE_CH_MAP_UPD_IND 0x28 |
Channel map update indication. More... | |
#define | DM_ADV_TYPE_PB_ADV 0x29 |
PB-ADV. More... | |
#define | DM_ADV_TYPE_MESH_MSG 0x2A |
Mesh message. More... | |
#define | DM_ADV_TYPE_MESH_BEACON 0x2B |
Mesh beacon. More... | |
#define | DM_ADV_TYPE_BIG_INFO 0x2C |
BIG Info. More... | |
#define | DM_ADV_TYPE_BCAST_CODE 0x2D |
Mesh beacon. More... | |
#define | DM_ADV_TYPE_3D_INFO_DATA 0x3D |
3D information data More... | |
#define | DM_ADV_TYPE_MANUFACTURER 0xFF |
Manufacturer specific data. More... | |
GAP Advertising Data Flag Advertising Type | |
#define | DM_FLAG_LE_LIMITED_DISC 0x01 |
Limited discoverable flag. More... | |
#define | DM_FLAG_LE_GENERAL_DISC 0x02 |
General discoverable flag. More... | |
#define | DM_FLAG_LE_BREDR_NOT_SUP 0x04 |
BR/EDR not supported flag. More... | |
GAP Advertising Data Element Indexes | |
#define | DM_AD_LEN_IDX 0 |
Advertising data element len. More... | |
#define | DM_AD_TYPE_IDX 1 |
Advertising data element type. More... | |
#define | DM_AD_DATA_IDX 2 |
Advertising data element data. More... | |
GAP Advertising URI | |
#define | DM_URI_SCHEME_HTTP 0x16 |
URI HTTP Scheme. More... | |
#define | DM_URI_SCHEME_HTTPS 0x17 |
URI HTTPS Scheme. More... | |
GAP Timeouts | |
Timeouts defined by the GAP specification; in units of milliseconds. | |
#define | DM_GAP_LIM_ADV_TIMEOUT 180000 |
Maximum advertising duration in limited discoverable mode. More... | |
#define | DM_GAP_GEN_DISC_SCAN_MIN 10240 |
Minimum scan duration for general discovery. More... | |
#define | DM_GAP_LIM_DISC_SCAN_MIN 10240 |
Minimum scan duration for limited discovery. More... | |
#define | DM_GAP_CONN_PARAM_TIMEOUT 30000 |
Connection parameter update timeout. More... | |
#define | DM_GAP_SCAN_FAST_PERIOD 30720 |
Minimum time to perform scanning when user initiated. More... | |
#define | DM_GAP_ADV_FAST_PERIOD 30000 |
Minimum time to perform advertising when user initiated. More... | |
GAP 1M PHY Timing | |
Advertising, scanning, and connection parameters defined in the GAP specification for the LE 1M PHY. In units of 625 microseconds. | |
#define | DM_GAP_SCAN_FAST_INT_MIN 48 |
Minimum scan interval when user initiated. More... | |
#define | DM_GAP_SCAN_FAST_INT_MAX 96 |
Maximum scan interval when user initiated. More... | |
#define | DM_GAP_SCAN_FAST_WINDOW 48 |
Scan window when user initiated. More... | |
#define | DM_GAP_SCAN_SLOW_INT_1 2048 |
Scan interval 1 when background scannning. More... | |
#define | DM_GAP_SCAN_SLOW_WINDOW_1 18 |
Scan window 1 when background scanning. More... | |
#define | DM_GAP_SCAN_SLOW_INT_2 4096 |
Scan interval 2 when background scannning. More... | |
#define | DM_GAP_SCAN_SLOW_WINDOW_2 36 |
Scan window 2 when background scanning. More... | |
#define | DM_GAP_ADV_FAST_INT_MIN_1 48 |
Minimum advertising interval 1 when user initiated. More... | |
#define | DM_GAP_ADV_FAST_INT_MAX_1 96 |
Maximum advertising interval 1 when user initiated. More... | |
#define | DM_GAP_ADV_FAST_INT_MIN_2 160 |
Minimum advertising interval 2 when user initiated. More... | |
#define | DM_GAP_ADV_FAST_INT_MAX_2 240 |
Maximum advertising interval 2 when user initiated. More... | |
#define | DM_GAP_ADV_SLOW_INT_MIN 1600 |
Minimum advertising interval when background advertising. More... | |
#define | DM_GAP_ADV_SLOW_INT_MAX 1920 |
Maximum advertising interval when background advertising. More... | |
GAP Coded PHY Timing | |
Advertising, scanning, and connection parameters defined in the GAP specification for the LE Coded PHY. In units of 625 microseconds. | |
#define | DM_GAP_SCAN_CODED_FAST_INT_MIN 144 |
Minimum scan interval when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_SCAN_CODED_FAST_INT_MAX 288 |
Maximum scan interval when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_SCAN_CODED_FAST_WINDOW 144 |
Scan window when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_SCAN_CODED_SLOW_INT_1 6144 |
Scan interval 1 when background scannning on LE Coded PHY. More... | |
#define | DM_GAP_SCAN_CODED_SLOW_WINDOW_1 54 |
Scan window 1 when background scanning on LE Coded PHY. More... | |
#define | DM_GAP_SCAN_CODED_SLOW_INT_2 12288 |
Scan interval 2 when background scannning on LE Coded PHY. More... | |
#define | DM_GAP_SCAN_CODED_SLOW_WINDOW_2 108 |
Scan window 2 when background scanning on LE Coded PHY. More... | |
#define | DM_GAP_ADV_CODED_FAST_INT_MIN_1 144 |
Minimum advertising interval 1 when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_ADV_CODED_FAST_INT_MAX_1 288 |
Maximum advertising interval 1 when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_ADV_CODED_FAST_INT_MIN_2 480 |
Minimum advertising interval 2 when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_ADV_CODED_FAST_INT_MAX_2 720 |
Maximum advertising interval 2 when user initiated on LE Coded PHY. More... | |
#define | DM_GAP_ADV_CODED_SLOW_INT_MIN 4800 |
Minimum advertising interval when background advertising on LE Coded PHY. More... | |
#define | DM_GAP_ADV_CODED_SLOW_INT_MAX 5760 |
Maximum advertising interval when background advertising on LE Coded PHY. More... | |
GAP Connection Slave Latency | |
#define | DM_GAP_CONN_EST_LATENCY 0 |
GAP connection establishment slaves latency. More... | |
GAP Connection Interval | |
#define | DM_GAP_INITIAL_CONN_INT_MIN 24 |
Minimum initial connection interval. More... | |
#define | DM_GAP_INITIAL_CONN_INT_MAX 40 |
Maximum initial connection interval. More... | |
GAP Connection Event Lengths | |
GAP connection establishment minimum and maximum connection event lengths. | |
#define | DM_GAP_CONN_EST_MIN_CE_LEN 0 |
Connection establishment minimum event length. More... | |
#define | DM_GAP_CONN_EST_MAX_CE_LEN 0 |
Connection establishment maximum event length. More... | |
GAP Peripheral Privacy Characteristic Values | |
#define | DM_GAP_PRIV_DISABLED 0 |
Privacy Disabled. More... | |
#define | DM_GAP_PRIV_ENABLED 1 |
Privacy Enabled. More... | |
GAP Connection Supervision Timeout | |
#define | DM_DEFAULT_EST_SUP_TIMEOUT 2000 |
Connection establishment supervision timeout default, in 10ms units. More... | |
GAP Security Pairing Authentication Requirements | |
#define | DM_AUTH_BOND_FLAG SMP_AUTH_BOND_FLAG |
Bonding requested. More... | |
#define | DM_AUTH_MITM_FLAG SMP_AUTH_MITM_FLAG |
MITM (authenticated pairing) requested. More... | |
#define | DM_AUTH_SC_FLAG SMP_AUTH_SC_FLAG |
LE Secure Connections requested. More... | |
#define | DM_AUTH_KP_FLAG SMP_AUTH_KP_FLAG |
Keypress notifications requested. More... | |
GAP Key Distribution Flags | |
#define | DM_KEY_DIST_LTK SMP_KEY_DIST_ENC |
Distribute LTK used for encryption. More... | |
#define | DM_KEY_DIST_IRK SMP_KEY_DIST_ID |
Distribute IRK used for privacy. More... | |
#define | DM_KEY_DIST_CSRK SMP_KEY_DIST_SIGN |
Distribute CSRK used for signed data. More... | |
DM Security Key Indication Types | |
Type of key used in DM_SEC_KEY_IND. | |
#define | DM_KEY_LOCAL_LTK 0x01 |
LTK generated locally for this device. More... | |
#define | DM_KEY_PEER_LTK 0x02 |
LTK received from peer device. More... | |
#define | DM_KEY_IRK 0x04 |
IRK and identity info of peer device. More... | |
#define | DM_KEY_CSRK 0x08 |
CSRK of peer device. More... | |
GAP Security Level | |
#define | DM_SEC_LEVEL_NONE 0 |
Connection has no security. More... | |
#define | DM_SEC_LEVEL_ENC 1 |
Connection is encrypted with unauthenticated key. More... | |
#define | DM_SEC_LEVEL_ENC_AUTH 2 |
Connection is encrypted with authenticated key. More... | |
#define | DM_SEC_LEVEL_ENC_LESC 3 |
Connection is encrypted with LE Secure Connections. More... | |
GAP Broadcast Security Level | |
#define | DM_SEC_LEVEL_BCAST_NONE 0 |
No security (no authentication and no encryption) More... | |
#define | DM_SEC_LEVEL_BCAST_UNAUTH 1 |
Use of unauthenticated Broadcast_Code. More... | |
#define | DM_SEC_LEVEL_BCAST_AUTH 2 |
Use of authenticated Broadcast_Code. More... | |
GAP Random Address Types | |
#define | DM_RAND_ADDR_STATIC 0xC0 |
Static address. More... | |
#define | DM_RAND_ADDR_RESOLV 0x40 |
Resolvable private address. More... | |
#define | DM_RAND_ADDR_NONRESOLV 0x00 |
Non-resolvable private address. More... | |
GAP Random Address Macros | |
#define | DM_RAND_ADDR_GET(addr) ((addr)[5] & 0xC0) |
Get the type of random address. More... | |
#define | DM_RAND_ADDR_SET(addr, type) {(addr)[5] = ((addr)[5] & 0x3F) | (type);} |
Set the type of random address. More... | |
#define | DM_RAND_ADDR_SA(addr, type) |
Check for Static Address. More... | |
#define | DM_RAND_ADDR_RPA(addr, type) |
Check for Resolvable Private Address. More... | |
GAP Privacy Mode | |
#define | DM_PRIV_MODE_NETWORK 0x00 |
Network privacy mode (default). More... | |
#define | DM_PRIV_MODE_DEVICE 0x01 |
Device privacy mode. More... | |
DM Internal State | |
#define | DM_CONN_IDLE 0 |
Connection is idle. More... | |
#define | DM_CONN_BUSY 1 |
Connection is busy. More... | |
DM Internal State Flags | |
#define | DM_IDLE_SMP_PAIR 0x0001 |
SMP pairing in progress. More... | |
#define | DM_IDLE_DM_ENC 0x0002 |
DM Encryption setup in progress. More... | |
#define | DM_IDLE_ATTS_DISC 0x0004 |
ATTS service discovery in progress. More... | |
#define | DM_IDLE_APP_DISC 0x0008 |
App framework service discovery in progress. More... | |
#define | DM_IDLE_USER_1 0x0010 |
For use by user application. More... | |
#define | DM_IDLE_USER_2 0x0020 |
For use by user application. More... | |
#define | DM_IDLE_USER_3 0x0040 |
For use by user application. More... | |
#define | DM_IDLE_USER_4 0x0080 |
For use by user application. More... | |
GAP Filter Policy Modes | |
#define | DM_FILT_POLICY_MODE_ADV 0 |
Advertising filter policy mode. More... | |
#define | DM_FILT_POLICY_MODE_SCAN 1 |
Scanning filter policy mode. More... | |
#define | DM_FILT_POLICY_MODE_INIT 2 |
Initiator filter policy mode. More... | |
#define | DM_FILT_POLICY_MODE_SYNC 3 |
Synchronization filter policy mode. More... | |
DM Proprietary Error Codes | |
#define | DM_ERR_SMP_RX_PDU_LEN_EXCEEDED 0x01 |
LESC key length exceeded maximum RX PDU length. More... | |
#define | DM_ERR_ATT_RX_PDU_LEN_EXCEEDED 0x02 |
Configured ATT MTU exceeded maximum RX PDU length. More... | |
#define | DM_ERR_L2C_RX_PDU_LEN_EXCEEDED 0x03 |
Registered COC MPS exceeded maximum RX PDU length. More... | |
DM Conn CTE states | |
DM Legacy Advertising Handle | |
Default handle for legacy advertising when using legacy HCI interface. In this case only one advertising set is allowed so all activity uses the same handle. | |
#define | DM_ADV_HANDLE_DEFAULT 0 |
Default Advertising handle for legacy advertising. More... | |
DM Callback Events | |
#define | DM_CBACK_START 0x20 |
DM callback event starting value. More... | |
#define | DM_CBACK_END DM_VENDOR_SPEC_IND |
DM callback event ending value. More... | |
DM App Callback Registration | |
void | DmRegister (dmCback_t cback) |
Register a callback with DM for scan and advertising events. More... | |
DM Advertising Functions | |
uint8_t * | DmFindAdType (uint8_t adType, uint16_t dataLen, uint8_t *pData) |
Find an advertising data element in the given advertising or scan response data. More... | |
void | DmAdvInit (void) |
Initialize DM legacy advertising. More... | |
void | DmExtAdvInit (void) |
Initialize DM extended advertising. More... | |
bool_t | DmAdvModeLeg (void) |
Whether DM advertising is in legacy mode. More... | |
bool_t | DmAdvModeExt (void) |
Whether DM advertising is in extended mode. More... | |
void | DmAdvConfig (uint8_t advHandle, uint8_t advType, uint8_t peerAddrType, uint8_t *pPeerAddr) |
Set the advertising parameters using the given advertising type, and peer address. More... | |
void | DmAdvSetData (uint8_t advHandle, uint8_t op, uint8_t location, uint8_t len, uint8_t *pData) |
Set the advertising or scan response data to the given data. More... | |
void | DmAdvStart (uint8_t numSets, uint8_t *pAdvHandles, uint16_t *pDuration, uint8_t *pMaxEaEvents) |
Start advertising using the given advertising set and duration. More... | |
void | DmAdvStop (uint8_t numSets, uint8_t *pAdvHandles) |
Stop advertising for the given advertising set. If the number of sets is set to 0 then all advertising sets are disabled. More... | |
void | DmAdvRemoveAdvSet (uint8_t advHandle) |
Remove an advertising set. More... | |
void | DmAdvClearAdvSets (void) |
Clear advertising sets. More... | |
void | DmAdvSetRandAddr (uint8_t advHandle, const uint8_t *pAddr) |
Set the random device address for a given advertising set. More... | |
void | DmAdvSetInterval (uint8_t advHandle, uint16_t intervalMin, uint16_t intervalMax) |
Set the minimum and maximum advertising intervals. More... | |
void | DmAdvSetChannelMap (uint8_t advHandle, uint8_t channelMap) |
Include or exclude certain channels from the advertising channel map. More... | |
void | DmAdvSetAddrType (uint8_t addrType) |
Set the local address type used while advertising. This function can be used to configure advertising to use a random address. More... | |
bool_t | DmAdvSetAdValue (uint8_t adType, uint8_t len, uint8_t *pValue, uint16_t *pAdvDataLen, uint8_t *pAdvData, uint16_t advDataBufLen) |
Set the value of an advertising data element in the given advertising or scan response data. If the element already exists in the data then it is replaced with the new value. If the element does not exist in the data it is appended to it, space permitting. More... | |
bool_t | DmAdvSetName (uint8_t len, uint8_t *pValue, uint16_t *pAdvDataLen, uint8_t *pAdvData, uint16_t advDataBufLen) |
Set the device name in the given advertising or scan response data. If the name can only fit in the data if it is shortened, the name is shortened and the AD type is changed to DM_ADV_TYPE_SHORT_NAME. More... | |
void | DmDevPrivInit (void) |
Initialize device privacy module. More... | |
void | DmDevPrivStart (uint16_t changeInterval) |
Start using a private resolvable address. More... | |
void | DmDevPrivStop (void) |
Stop using a private resolvable address. More... | |
void | DmAdvUseLegacyPdu (uint8_t advHandle, bool_t useLegacyPdu) |
Set whether or not to use legacy advertising PDUs with extended advertising. More... | |
void | DmAdvOmitAdvAddr (uint8_t advHandle, bool_t omitAdvAddr) |
Set whether or not to omit advertiser's address from all PDUs (anonymous advertising). More... | |
void | DmAdvIncTxPwr (uint8_t advHandle, bool_t incTxPwr, int8_t advTxPwr) |
Set whether or not to include TxPower in extended header of advertising PDU. More... | |
void | DmAdvSetPhyParam (uint8_t advHandle, uint8_t priAdvPhy, uint8_t secAdvMaxSkip, uint8_t secAdvPhy) |
Set extended advertising PHY parameters. More... | |
void | DmAdvScanReqNotifEnable (uint8_t advHandle, bool_t scanReqNotifEna) |
Set scan request notification enable. More... | |
void | DmAdvSetFragPref (uint8_t advHandle, uint8_t fragPref) |
Set fragment preference for advertising data. More... | |
void | DmAdvSetSid (uint8_t advHandle, uint8_t advSid) |
Set advertising SID for the given advertising handle. More... | |
void | DmPerAdvConfig (uint8_t advHandle) |
Set the advertising parameters for periodic advertising. More... | |
void | DmPerAdvSetData (uint8_t advHandle, uint8_t op, uint8_t len, uint8_t *pData) |
Set the advertising data to the given data for periodic advertising. More... | |
void | DmPerAdvStart (uint8_t advHandle) |
Start periodic advertising for the advertising set specified by the advertising handle. More... | |
void | DmPerAdvStop (uint8_t advHandle) |
Stop periodic advertising for the advertising set specified by the advertising handle. More... | |
void | DmPerAdvSetInterval (uint8_t advHandle, uint16_t intervalMin, uint16_t intervalMax) |
Set the minimum and maximum advertising intervals for periodic advertising. More... | |
void | DmPerAdvIncTxPwr (uint8_t advHandle, bool_t incTxPwr) |
Set whether or not to include TxPower in extended header of advertising PDU for periodic advertising. More... | |
bool_t | DmPerAdvEnabled (uint8_t advHandle) |
Get status of periodic advertising handle. More... | |
uint16_t | DmExtMaxAdvDataLen (uint8_t advType, bool_t useLegacyPdu) |
Get the maximum advertising data length supported by Controller for a given advertising type. More... | |
DM Privacy Functions | |
void | DmPrivInit (void) |
Initialize DM privacy module. More... | |
void | DmPrivResolveAddr (uint8_t *pAddr, uint8_t *pIrk, uint16_t param) |
Resolve a private resolvable address. When complete the client's callback function is called with a DM_PRIV_RESOLVED_ADDR_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivAddDevToResList (uint8_t addrType, const uint8_t *pIdentityAddr, uint8_t *pPeerIrk, uint8_t *pLocalIrk, bool_t enableLlPriv, uint16_t param) |
Add device to resolving list. When complete the client's callback function is called with a DM_PRIV_ADD_DEV_TO_RES_LIST_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivRemDevFromResList (uint8_t addrType, const uint8_t *pIdentityAddr, uint16_t param) |
Remove device from resolving list. When complete the client's callback function is called with a DM_PRIV_REM_DEV_FROM_RES_LIST_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivClearResList (void) |
Clear resolving list. When complete the client's callback function is called with a DM_PRIV_CLEAR_RES_LIST_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivReadPeerResolvableAddr (uint8_t addrType, const uint8_t *pIdentityAddr) |
HCI read peer resolvable address command. When complete the client's callback function is called with a DM_PRIV_READ_PEER_RES_ADDR_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivReadLocalResolvableAddr (uint8_t addrType, const uint8_t *pIdentityAddr) |
Read local resolvable address command. When complete the client's callback function is called with a DM_PRIV_READ_LOCAL_RES_ADDR_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivSetAddrResEnable (bool_t enable) |
Enable or disable address resolution in LL. When complete the client's callback function is called with a DM_PRIV_SET_ADDR_RES_ENABLE_IND event. The client must wait to receive this event before executing this function again. More... | |
void | DmPrivSetResolvablePrivateAddrTimeout (uint16_t rpaTimeout) |
Set resolvable private address timeout command. More... | |
void | DmPrivSetPrivacyMode (uint8_t addrType, const uint8_t *pIdentityAddr, uint8_t mode) |
Set privacy mode for a given entry in the resolving list. More... | |
void | DmPrivGenerateAddr (uint8_t *pIrk, uint16_t param) |
Generate a Resolvable Private Address (RPA). More... | |
bool_t | DmLlPrivEnabled (void) |
Whether LL Privacy is enabled. More... | |
DM Scanner Functions | |
Functions for controlling Legacy and Extended Scanner behavior. | |
void | DmScanInit (void) |
Initialize DM legacy scanning. More... | |
void | DmExtScanInit (void) |
Initialize DM extended scanning. More... | |
void | DmPastInit (void) |
Initialize DM Periodic Advertising Sync Transfer (PAST) module. More... | |
void | DmConnCteInit (void) |
Initialize DM Connection Constant Tone Extension (CTE) module. More... | |
bool_t | DmScanModeLeg (void) |
Whether DM scanning is in legacy mode. More... | |
bool_t | DmScanModeExt (void) |
Whether DM scanning is in extended mode. More... | |
void | DmScanStart (uint8_t scanPhys, uint8_t mode, const uint8_t *pScanType, bool_t filterDup, uint16_t duration, uint16_t period) |
Start scanning on the given PHYs. More... | |
void | DmScanStop (void) |
Stop scanning. More... | |
void | DmScanSetInterval (uint8_t scanPhys, uint16_t *pScanInterval, uint16_t *pScanWindow) |
Set the scan interval and window for the specified PHYs. More... | |
void | DmScanSetAddrType (uint8_t addrType) |
Set the local address type used while scanning. This function can be used to configure scanning to use a random address. More... | |
dmSyncId_t | DmSyncStart (uint8_t advSid, uint8_t advAddrType, const uint8_t *pAdvAddr, uint16_t skip, uint16_t syncTimeout) |
Synchronize with periodic advertising from the given advertiser, and start receiving periodic advertising packets. More... | |
void | DmSyncStop (dmSyncId_t syncId) |
Stop reception of the periodic advertising identified by the given sync identifier. More... | |
void | DmSyncSetEncrypt (uint16_t syncHandle, bool_t encrypt) |
Set the encryption mode of the Broadcast Isochronous Group (BIG) corresponding to the periodic advertising train identified by the sync handle. More... | |
bool_t | DmSyncEncrypted (uint16_t syncHandle) |
Get the encryption mode of the Broadcast Isochronous Group (BIG) corresponding to the periodic advertising train identified by the sync handle. More... | |
bool_t | DmSyncEnabled (uint16_t syncHandle) |
Get status of sync identified by the handle. More... | |
void | DmSyncInitialRptEnable (bool_t enable) |
DM enable or disable initial periodic advertisement reporting. More... | |
void | DmBigSyncStart (uint8_t bigHandle, uint16_t syncHandle, uint8_t mse, uint16_t bigSyncTimeout, uint8_t numBis, uint8_t *pBis) |
Synchronize to a Broadcast Isochronous Group (BIG) described in the periodic advertising train specified by the sync handle. More... | |
void | DmBigSyncStop (uint8_t bigHandle) |
Stop synchronizing or cancel the process of synchronizing to the Broadcast Isochronous Group (BIG) identified by the handle. More... | |
bool_t | DmBisSyncInUse (uint16_t handle) |
For internal use only. Return TRUE if the BIS sync is in use. More... | |
void | DmBigSyncSetBcastCode (uint8_t bigHandle, bool_t encrypt, bool_t authen, uint8_t *pBcastCode) |
Set the Broadcast Code for the given Broadcast Isochronous Group (BIG). More... | |
void | DmBigSyncSetSecLevel (uint8_t bigHandle, uint8_t secLevel) |
Set the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG). More... | |
uint8_t | DmBigSyncGetSecLevel (uint16_t handle) |
Get the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG) connection handle. More... | |
void | DmBisMasterInit (void) |
Initialize DM BIS manager for operation as master. More... | |
void | DmAddDeviceToPerAdvList (uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid) |
Add device to periodic advertiser list. More... | |
void | DmRemoveDeviceFromPerAdvList (uint8_t advAddrType, uint8_t *pAdvAddr, uint8_t advSid) |
DM remove device from periodic advertiser list. More... | |
void | DmClearPerAdvList (void) |
DM clear periodic advertiser list. More... | |
void | DmPastRptRcvEnable (dmSyncId_t syncId, bool_t enable) |
Enable or disable reports for the periodic advertising identified by the sync id. More... | |
void | DmPastSyncTrsf (dmConnId_t connId, uint16_t serviceData, dmSyncId_t syncId) |
Send synchronization information about the periodic advertising identified by the sync id to a connected device. More... | |
void | DmPastSetInfoTrsf (dmConnId_t connId, uint16_t serviceData, uint8_t advHandle) |
Send synchronization information about the periodic advertising in an advertising set to a connected device. More... | |
void | DmPastConfig (dmConnId_t connId, uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType) |
Specify how the Controller should process periodic advertising synchronization information received from the device identified by the connnection handle. More... | |
void | DmPastDefaultConfig (uint8_t mode, uint16_t skip, uint16_t syncTimeout, uint8_t cteType) |
Specify the initial value for the mode, skip, timeout, and Constant Tone Extension type to be used for all subsequent connections over the LE transport. More... | |
void | DmConnCteRxSampleStart (dmConnId_t connId, uint8_t slotDurations, uint8_t switchPatternLen, uint8_t *pAntennaIDs) |
Enable sampling received CTE fields on the specified connection, and configure the antenna switching pattern, and switching and sampling slot durations to be used. More... | |
void | DmConnCteRxSampleStop (dmConnId_t connId) |
Disable sampling received CTE fields on the specified connection. More... | |
void | DmConnCteTxConfig (dmConnId_t connId, uint8_t cteTypeBits, uint8_t switchPatternLen, uint8_t *pAntennaIDs) |
Configure the antenna switching pattern, and permitted CTE types used for transmitting CTEs requested by the peer device on the specified connection. More... | |
void | DmConnCteReqStart (dmConnId_t connId, uint16_t cteReqInt, uint8_t reqCteLen, uint8_t reqCteType) |
Initiate the CTE Request procedure on the specified connection. More... | |
void | DmConnCteReqStop (dmConnId_t connId) |
Stop initiating the CTE Request procedure on the specified connection. More... | |
void | DmConnCteRspStart (dmConnId_t connId) |
Start responding to LL_CTE_REQ PDUs with LL_CTE_RSP PDUs on the specified connection. More... | |
void | DmConnCteRspStop (dmConnId_t connId) |
Stop responding to LL_CTE_REQ PDUs with LL_CTE_RSP PDUs on the specified connection. More... | |
uint8_t | DmConnCteGetReqState (dmConnId_t connId) |
Returns the device manager's CTE request state for a given connection. More... | |
uint8_t | DmConnCteGetRspState (dmConnId_t connId) |
Returns the device manager's CTE response state for a given connection. More... | |
void | DmReadAntennaInfo (void) |
Read the switching rates, the sampling rates, the number of antennae, and the maximum length of a transmitted Constant Tone Extension supported by the Controller. More... | |
DM Connection Functions | |
Functions for forming connections and managing connection behavior and parameter updates. | |
void | DmConnInit (void) |
Initialize DM connection manager. More... | |
void | DmConnMasterInit (void) |
Initialize DM connection manager for operation as legacy master. More... | |
void | DmExtConnMasterInit (void) |
Initialize DM connection manager for operation as extended master. More... | |
void | DmConnSlaveInit (void) |
Initialize DM connection manager for operation as legacy slave. More... | |
void | DmExtConnSlaveInit (void) |
Initialize DM connection manager for operation as extended slave. More... | |
void | DmConnRegister (uint8_t clientId, dmCback_t cback) |
Register with the DM connection manager. More... | |
dmConnId_t | DmConnOpen (uint8_t clientId, uint8_t initPhys, uint8_t addrType, uint8_t *pAddr) |
Open a connection to a peer device with the given address. More... | |
void | DmConnClose (uint8_t clientId, dmConnId_t connId, uint8_t reason) |
Close the connection with the give connection identifier. More... | |
dmConnId_t | DmConnAccept (uint8_t clientId, uint8_t advHandle, uint8_t advType, uint16_t duration, uint8_t maxEaEvents, uint8_t addrType, uint8_t *pAddr) |
Accept a connection from the given peer device by initiating directed advertising. More... | |
void | DmConnUpdate (dmConnId_t connId, hciConnSpec_t *pConnSpec) |
Update the connection parameters of an open connection. More... | |
void | DmConnSetScanInterval (uint16_t scanInterval, uint16_t scanWindow) |
Set the scan interval and window for connections to be created with DmConnOpen(). More... | |
void | DmExtConnSetScanInterval (uint8_t initPhys, uint16_t *pScanInterval, uint16_t *pScanWindow) |
Set the scan interval and window for extended connections to be created with DmConnOpen(). More... | |
void | DmConnSetConnSpec (hciConnSpec_t *pConnSpec) |
Set the connection spec parameters for connections to be created with DmConnOpen(). More... | |
void | DmExtConnSetConnSpec (uint8_t initPhys, hciConnSpec_t *pConnSpec) |
Set the extended connection spec parameters for extended connections to be created with DmConnOpen(). More... | |
void | DmConnSetAddrType (uint8_t addrType) |
Set the local address type used for connections created with DmConnOpen(). More... | |
void | DmConnSetIdle (dmConnId_t connId, uint16_t idleMask, uint8_t idle) |
Configure a bit in the connection idle state mask as busy or idle. More... | |
uint16_t | DmConnCheckIdle (dmConnId_t connId) |
Check if a connection is idle. More... | |
void | DmConnReadRssi (dmConnId_t connId) |
Read RSSI of a given connection. More... | |
void | DmRemoteConnParamReqReply (dmConnId_t connId, hciConnSpec_t *pConnSpec) |
Reply to the HCI remote connection parameter request event. This command is used to indicate that the Host has accepted the remote device's request to change connection parameters. More... | |
void | DmRemoteConnParamReqNegReply (dmConnId_t connId, uint8_t reason) |
Negative reply to the HCI remote connection parameter request event. This command is used to indicate that the Host has rejected the remote device's request to change connection parameters. More... | |
void | DmConnSetDataLen (dmConnId_t connId, uint16_t txOctets, uint16_t txTime) |
Set data length for a given connection. More... | |
uint8_t | DmConnRole (dmConnId_t connId) |
Return the connection role indicating master or slave. More... | |
void | DmWriteAuthPayloadTimeout (dmConnId_t connId, uint16_t timeout) |
Set authenticated payload timeout for a given connection. More... | |
void | DmConnRequestPeerSca (dmConnId_t connId) |
Request the Sleep Clock Accuracy (SCA) of a peer device. More... | |
DM CIS Functions | |
Functions for forming and managing Connected Isochronous Stream (CIS) streams. | |
void | DmCisInit (void) |
Initialize DM Connected Isochronous Stream (CIS) manager. More... | |
void | DmCisMasterInit (void) |
Initialize DM Connected Isochronous Stream (CIS) manager for operation as master. More... | |
void | DmCisSlaveInit (void) |
Initialize DM Connected Isochronous Stream (CIS) manager for operation as slave. More... | |
void | DmCisCigSetSduInterval (uint8_t cigId, uint32_t sduIntervalMToS, uint32_t sduIntervalSToM) |
Set the interval, in microseconds, of periodic SDUs for the given Connected Isochronous Group (CIG). More... | |
void | DmCisCigSetSca (uint8_t cigId, uint8_t sca) |
Set the slaves clock accuracy for the given Connected Isochronous Group (CIG). More... | |
void | DmCisCigSetPackingFraming (uint8_t cigId, uint8_t packing, uint32_t framing) |
Set the packing scheme and framing format for the given Connected Isochronous Group (CIG). More... | |
void | DmCisCigSetTransLatInterval (uint8_t cigId, uint16_t transLatMToS, uint16_t transLatSToM) |
Set the maximum transport latency, in microseconds, for the given Connected Isochronous Group (CIG). More... | |
void | DmCisCigConfig (uint8_t cigId, dmConnId_t numCis, HciCisCisParams_t *pCisParam) |
Set the parameters of one or more Connected Isochronous Streams (CISes) that are associated with the given Connected Isochronous Group (CIG). More... | |
void | DmCisCigRemove (uint8_t cigId) |
Remove all the Connected Isochronous Streams (CISes) associated with the given Connected Isochronous Group (CIG). More... | |
void | DmCisOpen (uint8_t numCis, uint16_t *pCisHandle, uint16_t *pAclHandle) |
Create one or more Connected Isochronous Streams (CISes) using the connections identified by the ACL connection handles. More... | |
void | DmCisAccept (uint16_t handle) |
Inform the Controller to accept the request for the Connected Isochronous Stream (CIS) that is identified by the connection handle. More... | |
void | DmCisReject (uint16_t handle, uint8_t reason) |
Inform the Controller to reject the request for the Connected Isochronous Stream (CIS) that is identified by the connection handle. More... | |
void | DmCisClose (uint16_t handle, uint8_t reason) |
Close the Connected Isochronous Stream (CIS) connection with the given handle. More... | |
bool_t | DmCisConnInUse (uint16_t handle) |
For internal use only. Return TRUE if the Connected Isochronous Stream (CIS) connection is in use. More... | |
DM BIS Functions | |
Functions for forming and managing Broadcast Isochronous Stream (BIS) streams and synchronization. | |
void | DmBisSlaveInit (void) |
Initialize DM BIS manager for operation as slave. More... | |
void | DmBigStart (uint8_t bigHandle, uint8_t advHandle, uint8_t numBis, uint32_t sduInterUsec, uint16_t maxSdu, uint16_t mtlMs, uint8_t rtn) |
Start a Broadcast Isochronous Group (BIG) with one or more Broadcast Isochronous Streams (BISes). More... | |
void | DmBigStop (uint8_t bigHandle, uint8_t reason) |
Stop a Broadcast Isochronous Group (BIG) identified for the given handle. More... | |
bool_t | DmBisInUse (uint16_t handle) |
For internal use only. Return TRUE if the BIS is in use. More... | |
void | DmBigSetPhy (uint8_t bigHandle, uint8_t phyBits) |
Set the PHYs used for transmission of PDUs of Broadcast Isochronous Streams (BISes) in Broadcast Isochronous Group (BIG). More... | |
void | DmBigSetPackingFraming (uint8_t bigHandle, uint8_t packing, uint32_t framing) |
Set the packing scheme and framing format for the given Broadcast Isochronous Group (BIG). More... | |
void | DmBigSetBcastCode (uint8_t bigHandle, bool_t encrypt, bool_t authen, uint8_t *pBcastCode) |
Set the Broadcast Code for the given Broadcast Isochronous Group (BIG). More... | |
void | DmBigSetSecLevel (uint8_t bigHandle, uint8_t secLevel) |
Set the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG). More... | |
uint8_t | DmBigGetSecLevel (uint16_t handle) |
Get the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG) connection handle. More... | |
DM Isochronous (ISO) Functions | |
Functions for setting up and managing isochronous data path between the Host and the Controller. | |
void | DmIsoInit (void) |
Initialize DM ISO manager. More... | |
void | DmIsoDataPathSetup (HciIsoSetupDataPath_t *pDataPathParam) |
Setup the isochronous data path between the Host and the Controller for an established Connected Isochronous Stream (CIS) or Broadcast Isochronous Stream (BIS) identified by the connection handle parameter. More... | |
void | DmIsoDataPathRemove (uint16_t handle, uint8_t directionBits) |
Remove the input and/or output data path(s) associated with a Connected Isochronous Stream (CIS) or Broadcast Isochronous Stream (BIS) identified by the connection handle parameter. More... | |
void | DmDataPathConfig (HciConfigDataPath_t *pDataPathParam) |
Request the Controller to configure the data transport path in a given direction between the Controller and the Host. More... | |
void | DmReadLocalSupCodecs (void) |
Read a list of the codecs supported by the Controller, as well as vendor specific codecs, which are defined by an individual manufacturer. More... | |
void | DmReadLocalSupCodecCap (HciReadLocalSupCodecCaps_t *pCodecParam) |
Read a list of codec capabilities supported by the Controller for a given codec. More... | |
void | DmReadLocalSupCtrDly (HciReadLocalSupControllerDly_t *pDelayParam) |
Read the range of supported Controller delays for the codec specified by Codec ID on a given transport type specified by Logical Transport Type, in the direction specified by Direction, and with the codec configuration specified by Codec Configuration. More... | |
DM PHY Control Functions | |
void | DmSetDefaultPhy (uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys) |
Set the preferred values for the transmitter PHY and receiver PHY for all subsequent connections. More... | |
void | DmReadPhy (dmConnId_t connId) |
Read the current transmitter PHY and receiver PHY for a given connection. More... | |
void | DmSetPhy (dmConnId_t connId, uint8_t allPhys, uint8_t txPhys, uint8_t rxPhys, uint16_t phyOptions) |
Set the PHY preferences for a given connection. More... | |
void | DmPhyInit (void) |
Initialize DM PHY. More... | |
DM Device Functions | |
void | DmDevReset (void) |
Reset the device. More... | |
void | DmDevSetRandAddr (uint8_t *pAddr) |
Set the random address to be used by the local device. More... | |
void | DmDevWhiteListAdd (uint8_t addrType, uint8_t *pAddr) |
Add a peer device to the white list. Note that this function cannot be called while advertising, scanning, or connecting with white list filtering active. More... | |
void | DmDevWhiteListRemove (uint8_t addrType, uint8_t *pAddr) |
Remove a peer device from the white list. Note that this function cannot be called while advertising, scanning, or connecting with white list filtering active. More... | |
void | DmDevWhiteListClear (void) |
Clear the white list. Note that this function cannot be called while advertising, scanning, or connecting with white list filtering active. More... | |
bool_t | DmDevSetFilterPolicy (uint8_t mode, uint8_t policy) |
Set the Advertising, Scanning or Initiator filter policy. More... | |
bool_t | DmDevSetExtFilterPolicy (uint8_t advHandle, uint8_t mode, uint8_t policy) |
Set the Advertising filter policy for the given advertising, Scanning or Initiator filter policy. More... | |
void | DmDevVsInit (uint8_t param) |
Vendor-specific controller initialization function. More... | |
DM Security Functions | |
Functions for accessing and controlling security configuration of device. | |
void | DmSecInit (void) |
Initialize DM security. More... | |
void | DmSecLescInit (void) |
Initialize DM LE Secure Connections security. More... | |
void | DmSecPairReq (dmConnId_t connId, uint8_t oob, uint8_t auth, uint8_t iKeyDist, uint8_t rKeyDist) |
This function is called by a master device to initiate pairing. More... | |
void | DmSecPairRsp (dmConnId_t connId, uint8_t oob, uint8_t auth, uint8_t iKeyDist, uint8_t rKeyDist) |
This function is called by a slave device to proceed with pairing after a DM_SEC_PAIR_IND event is received. More... | |
void | DmSecCancelReq (dmConnId_t connId, uint8_t reason) |
This function is called to cancel the pairing process. More... | |
void | DmSecAuthRsp (dmConnId_t connId, uint8_t authDataLen, uint8_t *pAuthData) |
This function is called in response to a DM_SEC_AUTH_REQ_IND event to provide PIN or OOB data during pairing. More... | |
void | DmSecSlaveReq (dmConnId_t connId, uint8_t auth) |
This function is called by a slave device to request that the master initiates pairing or link encryption. More... | |
void | DmSecEncryptReq (dmConnId_t connId, uint8_t secLevel, dmSecLtk_t *pLtk) |
This function is called by a master device to initiate link encryption. More... | |
void | DmSecLtkRsp (dmConnId_t connId, bool_t keyFound, uint8_t secLevel, uint8_t *pKey) |
This function is called by a slave in response to a DM_SEC_LTK_REQ_IND event to provide the long term key used for encryption. More... | |
void | DmSecSetLocalCsrk (uint8_t *pCsrk) |
This function sets the local CSRK used by the device. More... | |
void | DmSecSetLocalIrk (uint8_t *pIrk) |
This function sets the local IRK used by the device. More... | |
void | DmSecSetLocalIdentityAddr (const uint8_t *pAddr, uint8_t type) |
This function sets the local identity address used by the device. More... | |
void | DmSecGenerateEccKeyReq (void) |
This function generates an ECC key for use with LESC security. More... | |
void | DmSecSetEccKey (secEccKey_t *pKey) |
This function sets the ECC key for use with LESC security. More... | |
secEccKey_t * | DmSecGetEccKey (void) |
This function gets the local ECC key for use with LESC security. More... | |
void | DmSecSetDebugEccKey (void) |
This function sets the ECC key for use with LESC security to standard debug keys values. More... | |
void | DmSecSetOob (dmConnId_t connId, dmSecLescOobCfg_t *pConfig) |
This function configures the DM to use OOB pairing for the given connection. The pRand and pConfirm contain the Random and Confirm values exchanged via out of band methods. More... | |
void | DmSecCalcOobReq (uint8_t *pRand, uint8_t *pPubKeyX) |
This function calculates the local random and confirm values used in LESC OOB pairing. The operation's result is posted as a DM_SEC_CALC_OOB_IND event to the application's DM callback handler. The local rand and confirm values are exchanged with the peer via out-of-band (OOB) methods and passed into the DmSecSetOob after DM_CONN_OPEN_IND. More... | |
void | DmSecCompareRsp (dmConnId_t connId, bool_t valid) |
This function is called by the application in response to a DM_SEC_COMPARE_IND event. The valid parameter indicates if the compare value of the DM_SEC_COMPARE_IND was valid. More... | |
uint32_t | DmSecGetCompareValue (uint8_t *pConfirm) |
This function returns the 6-digit compare value for the specified 128-bit confirm value. More... | |
DM Internal Functions | |
uint8_t | DmLlAddrType (uint8_t addrType) |
Map an address type to a type used by LL. More... | |
uint8_t | DmHostAddrType (uint8_t addrType) |
Map an address type to a type used by Host. More... | |
uint16_t | DmSizeOfEvt (dmEvt_t *pDmEvt) |
Return size of a DM callback event. More... | |
void | DmL2cConnUpdateCnf (uint16_t handle, uint16_t reason) |
For internal use only. L2C calls this function to send the result of an L2CAP connection update response to DM. More... | |
void | DmL2cCmdRejInd (uint16_t handle, uint16_t result) |
For internal use only. L2C calls this function to send the result of an L2CAP Command Reject up to the application. More... | |
void | DmL2cConnUpdateInd (uint8_t identifier, uint16_t handle, hciConnSpec_t *pConnSpec) |
For internal use only. L2C calls this function when it receives a connection update request from a peer device. More... | |
dmConnId_t | DmConnIdByHandle (uint16_t handle) |
For internal use only. Find the connection ID with matching handle. More... | |
bool_t | DmConnInUse (dmConnId_t connId) |
For internal use only. Return TRUE if the connection is in use. More... | |
uint8_t | DmConnPeerAddrType (dmConnId_t connId) |
For internal use only. Return the peer address type. More... | |
uint8_t * | DmConnPeerAddr (dmConnId_t connId) |
For internal use only. Return the peer device address. More... | |
uint8_t | DmConnLocalAddrType (dmConnId_t connId) |
For internal use only. Return the local address type. More... | |
uint8_t * | DmConnLocalAddr (dmConnId_t connId) |
For internal use only. Return the local address. More... | |
uint8_t * | DmConnPeerRpa (dmConnId_t connId) |
For internal use only. Return the peer resolvable private address (RPA). More... | |
uint8_t * | DmConnLocalRpa (dmConnId_t connId) |
For internal use only. Return the local resolvable private address (RPA). More... | |
uint8_t | DmConnSecLevel (dmConnId_t connId) |
For internal use only. Return the security level of the connection. More... | |
void | DmSmpEncryptReq (dmConnId_t connId, uint8_t secLevel, uint8_t *pKey) |
For internal use only. This function is called by SMP to request encryption. More... | |
void | DmSmpCbackExec (dmEvt_t *pDmEvt) |
For internal use only. Execute DM callback from SMP procedures. More... | |
uint8_t * | DmSecGetLocalCsrk (void) |
For internal use only. This function gets the local CSRK used by the device. More... | |
uint8_t * | DmSecGetLocalIrk (void) |
For internal use only. This function gets the local IRK used by the device. More... | |
uint8_t * | DmSecGetLocalIdentityAddr (void) |
For internal use only. This function gets the local identity address used by the device. More... | |
uint8_t | DmSecGetLocalIdentityAddrType (void) |
For internal use only. This function gets the local identity address type used by the device. More... | |
void | DmReadRemoteFeatures (dmConnId_t connId) |
For internal use only. Read the features of the remote device. More... | |
void | DmReadRemoteVerInfo (dmConnId_t connId) |
Read the version info of the remote device. More... | |
#define DM_ADDR_PUBLIC_IDENTITY 0x02 |
#define DM_ADDR_RANDOM_IDENTITY 0x03 |
#define DM_ADDR_RANDOM_UNRESOLVED 0xFE |
#define DM_ADV_CHAN_37 HCI_ADV_CHAN_37 |
#define DM_ADV_CHAN_38 HCI_ADV_CHAN_38 |
#define DM_ADV_CHAN_39 HCI_ADV_CHAN_39 |
#define DM_ADV_CHAN_ALL (HCI_ADV_CHAN_37 | HCI_ADV_CHAN_38 | HCI_ADV_CHAN_39) |
#define DM_ADV_CONN_DIRECT 1 |
#define DM_ADV_CONN_DIRECT_LO_DUTY 4 |
#define DM_ADV_CONN_UNDIRECT 0 |
#define DM_ADV_HANDLE_DEFAULT 0 |
#define DM_ADV_NONCONN_UNDIRECT 3 |
#define DM_ADV_SCAN_UNDIRECT 2 |
#define DM_ADV_TYPE_128_SOLICIT 0x15 |
#define DM_ADV_TYPE_128_UUID 0x07 |
#define DM_ADV_TYPE_128_UUID_PART 0x06 |
#define DM_ADV_TYPE_16_SOLICIT 0x14 |
#define DM_ADV_TYPE_16_UUID 0x03 |
#define DM_ADV_TYPE_16_UUID_PART 0x02 |
#define DM_ADV_TYPE_32_SOLICIT 0x1F |
#define DM_ADV_TYPE_32_UUID 0x05 |
#define DM_ADV_TYPE_32_UUID_PART 0x04 |
#define DM_ADV_TYPE_ADV_INTERVAL 0x1A |
#define DM_ADV_TYPE_BD_ADDR 0x1B |
#define DM_ADV_TYPE_CH_MAP_UPD_IND 0x28 |
#define DM_ADV_TYPE_CONN_INTERVAL 0x12 |
#define DM_ADV_TYPE_INDOOR_POS 0x25 |
#define DM_ADV_TYPE_LE_SUP_FEAT 0x27 |
#define DM_ADV_TYPE_LESC_CONFIRM 0x22 |
#define DM_ADV_TYPE_LESC_RANDOM 0x23 |
#define DM_ADV_TYPE_MANUFACTURER 0xFF |
#define DM_ADV_TYPE_PUBLIC_TARGET 0x17 |
#define DM_ADV_TYPE_RANDOM_TARGET 0x18 |
#define DM_ADV_TYPE_SERVICE_DATA 0x16 |
#define DM_ADV_TYPE_SM_OOB_FLAGS 0x11 |
#define DM_ADV_TYPE_SM_TK_VALUE 0x10 |
#define DM_ADV_TYPE_SVC_DATA_128 0x21 |
#define DM_ADV_TYPE_SVC_DATA_32 0x20 |
#define DM_ADV_TYPE_TRANS_DISC 0x26 |
#define DM_AUTH_BOND_FLAG SMP_AUTH_BOND_FLAG |
#define DM_AUTH_KP_FLAG SMP_AUTH_KP_FLAG |
#define DM_AUTH_MITM_FLAG SMP_AUTH_MITM_FLAG |
#define DM_AUTH_SC_FLAG SMP_AUTH_SC_FLAG |
#define DM_CBACK_END DM_VENDOR_SPEC_IND |
#define DM_CBACK_START 0x20 |
#define DM_CIG_ID_NONE 0xFF |
#define DM_CIS_ID_NONE 0xFF |
#define DM_CLIENT_ID_ATT 0 |
#define DM_CLIENT_ID_DM 2 |
#define DM_CLIENT_ID_SMP 1 |
#define DM_CONN_ID_NONE 0 |
#define DM_DATA_LOC_ADV 0 |
#define DM_DATA_LOC_SCAN 1 |
#define DM_DEFAULT_EST_SUP_TIMEOUT 2000 |
#define DM_DISC_MODE_GENERAL 2 |
#define DM_DISC_MODE_LIMITED 1 |
#define DM_ERR_ATT_RX_PDU_LEN_EXCEEDED 0x02 |
#define DM_ERR_L2C_RX_PDU_LEN_EXCEEDED 0x03 |
#define DM_ERR_SMP_RX_PDU_LEN_EXCEEDED 0x01 |
#define DM_EXT_ADV_CONN_UNDIRECT 5 |
#define DM_EXT_ADV_NONCONN_DIRECT 6 |
#define DM_EXT_ADV_SCAN_DIRECT 7 |
#define DM_FILT_POLICY_MODE_ADV 0 |
#define DM_FILT_POLICY_MODE_INIT 2 |
#define DM_FILT_POLICY_MODE_SCAN 1 |
#define DM_FILT_POLICY_MODE_SYNC 3 |
#define DM_FLAG_LE_BREDR_NOT_SUP 0x04 |
#define DM_FLAG_LE_GENERAL_DISC 0x02 |
#define DM_FLAG_LE_LIMITED_DISC 0x01 |
#define DM_GAP_ADV_CODED_FAST_INT_MAX_1 288 |
#define DM_GAP_ADV_CODED_FAST_INT_MAX_2 720 |
#define DM_GAP_ADV_CODED_FAST_INT_MIN_1 144 |
#define DM_GAP_ADV_CODED_FAST_INT_MIN_2 480 |
#define DM_GAP_ADV_CODED_SLOW_INT_MAX 5760 |
#define DM_GAP_ADV_CODED_SLOW_INT_MIN 4800 |
#define DM_GAP_ADV_FAST_INT_MAX_1 96 |
#define DM_GAP_ADV_FAST_INT_MAX_2 240 |
#define DM_GAP_ADV_FAST_INT_MIN_1 48 |
#define DM_GAP_ADV_FAST_INT_MIN_2 160 |
#define DM_GAP_ADV_FAST_PERIOD 30000 |
#define DM_GAP_ADV_SLOW_INT_MAX 1920 |
#define DM_GAP_ADV_SLOW_INT_MIN 1600 |
#define DM_GAP_CONN_EST_LATENCY 0 |
#define DM_GAP_CONN_EST_MAX_CE_LEN 0 |
#define DM_GAP_CONN_EST_MIN_CE_LEN 0 |
#define DM_GAP_CONN_PARAM_TIMEOUT 30000 |
#define DM_GAP_GEN_DISC_SCAN_MIN 10240 |
#define DM_GAP_INITIAL_CONN_INT_MAX 40 |
#define DM_GAP_INITIAL_CONN_INT_MIN 24 |
#define DM_GAP_LIM_ADV_TIMEOUT 180000 |
#define DM_GAP_LIM_DISC_SCAN_MIN 10240 |
#define DM_GAP_SCAN_CODED_FAST_INT_MAX 288 |
#define DM_GAP_SCAN_CODED_FAST_INT_MIN 144 |
#define DM_GAP_SCAN_CODED_FAST_WINDOW 144 |
#define DM_GAP_SCAN_CODED_SLOW_INT_1 6144 |
#define DM_GAP_SCAN_CODED_SLOW_INT_2 12288 |
#define DM_GAP_SCAN_CODED_SLOW_WINDOW_1 54 |
#define DM_GAP_SCAN_CODED_SLOW_WINDOW_2 108 |
#define DM_GAP_SCAN_FAST_INT_MAX 96 |
#define DM_GAP_SCAN_FAST_INT_MIN 48 |
#define DM_GAP_SCAN_FAST_PERIOD 30720 |
#define DM_GAP_SCAN_FAST_WINDOW 48 |
#define DM_GAP_SCAN_SLOW_INT_1 2048 |
#define DM_GAP_SCAN_SLOW_INT_2 4096 |
#define DM_GAP_SCAN_SLOW_WINDOW_1 18 |
#define DM_GAP_SCAN_SLOW_WINDOW_2 36 |
#define DM_IDLE_APP_DISC 0x0008 |
#define DM_IDLE_ATTS_DISC 0x0004 |
#define DM_IDLE_DM_ENC 0x0002 |
#define DM_KEY_DIST_CSRK SMP_KEY_DIST_SIGN |
#define DM_KEY_DIST_IRK SMP_KEY_DIST_ID |
#define DM_KEY_DIST_LTK SMP_KEY_DIST_ENC |
#define DM_KEY_IRK 0x04 |
#define DM_KEY_LOCAL_LTK 0x01 |
#define DM_KEY_PEER_LTK 0x02 |
#define DM_PRIV_MODE_NETWORK 0x00 |
#define DM_RAND_ADDR_GET | ( | addr | ) | ((addr)[5] & 0xC0) |
#define DM_RAND_ADDR_NONRESOLV 0x00 |
#define DM_RAND_ADDR_RESOLV 0x40 |
#define DM_RAND_ADDR_RPA | ( | addr, | |
type | |||
) |
Check for Resolvable Private Address.
#define DM_RAND_ADDR_SA | ( | addr, | |
type | |||
) |
Check for Static Address.
#define DM_RAND_ADDR_SET | ( | addr, | |
type | |||
) | {(addr)[5] = ((addr)[5] & 0x3F) | (type);} |
#define DM_ROLE_MASTER HCI_ROLE_MASTER |
#define DM_ROLE_SLAVE HCI_ROLE_SLAVE |
#define DM_RPT_CONN_DIRECT 1 |
#define DM_RPT_CONN_UNDIRECT 0 |
#define DM_RPT_NONCONN_UNDIRECT 3 |
#define DM_RPT_SCAN_UNDIRECT 2 |
#define DM_SEC_HCI_ERR_BASE 0x20 |
Base value for HCI error status values for DM_SEC_PAIR_CMPL_IND.
#define DM_SEC_LEVEL_BCAST_AUTH 2 |
#define DM_SEC_LEVEL_BCAST_NONE 0 |
#define DM_SEC_LEVEL_BCAST_UNAUTH 1 |
#define DM_SEC_LEVEL_ENC 1 |
#define DM_SEC_LEVEL_ENC_AUTH 2 |
#define DM_SEC_LEVEL_ENC_LESC 3 |
typedef uint8_t dmConnId_t |
typedef uint8_t dmSyncId_t |
anonymous enum |
anonymous enum |
DM callback events.
void DmAddDeviceToPerAdvList | ( | uint8_t | advAddrType, |
uint8_t * | pAdvAddr, | ||
uint8_t | advSid | ||
) |
Add device to periodic advertiser list.
advAddrType | Advertiser address type. |
pAdvAddr | Advertiser address. |
advSid | Advertising SID. |
void DmAdvClearAdvSets | ( | void | ) |
Clear advertising sets.
void DmAdvConfig | ( | uint8_t | advHandle, |
uint8_t | advType, | ||
uint8_t | peerAddrType, | ||
uint8_t * | pPeerAddr | ||
) |
Set the advertising parameters using the given advertising type, and peer address.
advHandle | Advertising handle. |
advType | Advertising type. |
peerAddrType | Peer address type. |
pPeerAddr | Peer address. |
void DmAdvIncTxPwr | ( | uint8_t | advHandle, |
bool_t | incTxPwr, | ||
int8_t | advTxPwr | ||
) |
Set whether or not to include TxPower in extended header of advertising PDU.
advHandle | Advertising handle. |
incTxPwr | Whether to include TxPower in extended header of advertising PDU (default value is FALSE). |
advTxPwr | Advertising tx power (127 = no preference). |
void DmAdvInit | ( | void | ) |
Initialize DM legacy advertising.
bool_t DmAdvModeExt | ( | void | ) |
Whether DM advertising is in extended mode.
bool_t DmAdvModeLeg | ( | void | ) |
Whether DM advertising is in legacy mode.
void DmAdvOmitAdvAddr | ( | uint8_t | advHandle, |
bool_t | omitAdvAddr | ||
) |
Set whether or not to omit advertiser's address from all PDUs (anonymous advertising).
advHandle | Advertising handle. |
omitAdvAddr | Whether to omit advertiser's address from all PDUs (default value is FALSE). |
void DmAdvRemoveAdvSet | ( | uint8_t | advHandle | ) |
Remove an advertising set.
advHandle | Advertising handle. |
void DmAdvScanReqNotifEnable | ( | uint8_t | advHandle, |
bool_t | scanReqNotifEna | ||
) |
Set scan request notification enable.
advHandle | Advertising handle. |
scanReqNotifEna | Scan request notification enable. |
void DmAdvSetAddrType | ( | uint8_t | addrType | ) |
Set the local address type used while advertising. This function can be used to configure advertising to use a random address.
addrType | Address type. |
bool_t DmAdvSetAdValue | ( | uint8_t | adType, |
uint8_t | len, | ||
uint8_t * | pValue, | ||
uint16_t * | pAdvDataLen, | ||
uint8_t * | pAdvData, | ||
uint16_t | advDataBufLen | ||
) |
Set the value of an advertising data element in the given advertising or scan response data. If the element already exists in the data then it is replaced with the new value. If the element does not exist in the data it is appended to it, space permitting.
adType | Advertising data element type. |
len | Length of the value. Maximum length is 29 bytes. |
pValue | Pointer to the value. |
pAdvDataLen | Advertising or scan response data length. The new length is returned in this parameter. |
pAdvData | Pointer to advertising or scan response data. |
advDataBufLen | Length of the advertising or scan response data buffer maintained by Application. |
void DmAdvSetChannelMap | ( | uint8_t | advHandle, |
uint8_t | channelMap | ||
) |
Include or exclude certain channels from the advertising channel map.
advHandle | Advertising handle. |
channelMap | Advertising channel map. |
void DmAdvSetData | ( | uint8_t | advHandle, |
uint8_t | op, | ||
uint8_t | location, | ||
uint8_t | len, | ||
uint8_t * | pData | ||
) |
Set the advertising or scan response data to the given data.
advHandle | Advertising handle. |
op | Data operation. |
location | Data location. |
len | Length of the data. Maximum length is 236 bytes. |
pData | Pointer to the data. |
void DmAdvSetFragPref | ( | uint8_t | advHandle, |
uint8_t | fragPref | ||
) |
Set fragment preference for advertising data.
advHandle | Advertising handle. |
fragPref | Fragment preference. |
void DmAdvSetInterval | ( | uint8_t | advHandle, |
uint16_t | intervalMin, | ||
uint16_t | intervalMax | ||
) |
Set the minimum and maximum advertising intervals.
advHandle | Advertising handle. |
intervalMin | Minimum advertising interval. |
intervalMax | Maximum advertising interval. |
bool_t DmAdvSetName | ( | uint8_t | len, |
uint8_t * | pValue, | ||
uint16_t * | pAdvDataLen, | ||
uint8_t * | pAdvData, | ||
uint16_t | advDataBufLen | ||
) |
Set the device name in the given advertising or scan response data. If the name can only fit in the data if it is shortened, the name is shortened and the AD type is changed to DM_ADV_TYPE_SHORT_NAME.
len | Length of the name. Maximum length is 29 bytes. |
pValue | Pointer to the name in UTF-8 format. |
pAdvDataLen | Advertising or scan response data length. The new length is returned in this parameter. |
pAdvData | Pointer to advertising or scan response data. |
advDataBufLen | Length of the advertising or scan response data buffer maintained by Application. |
void DmAdvSetPhyParam | ( | uint8_t | advHandle, |
uint8_t | priAdvPhy, | ||
uint8_t | secAdvMaxSkip, | ||
uint8_t | secAdvPhy | ||
) |
Set extended advertising PHY parameters.
advHandle | Advertising handle. |
priAdvPhy | Primary advertising Phy. |
secAdvMaxSkip | Maximum advertising events Controller can skip before sending AUX_ADV_IND on secondary advertising channel (0 = AUX_ADV_IND will be sent prior to next advertising event). |
secAdvPhy | Secondary advertising Phy. |
void DmAdvSetRandAddr | ( | uint8_t | advHandle, |
const uint8_t * | pAddr | ||
) |
Set the random device address for a given advertising set.
advHandle | Advertising handle. |
pAddr | Random device address. |
void DmAdvSetSid | ( | uint8_t | advHandle, |
uint8_t | advSid | ||
) |
Set advertising SID for the given advertising handle.
advHandle | Advertising handle. |
advSid | Advertsing SID. |
void DmAdvStart | ( | uint8_t | numSets, |
uint8_t * | pAdvHandles, | ||
uint16_t * | pDuration, | ||
uint8_t * | pMaxEaEvents | ||
) |
Start advertising using the given advertising set and duration.
numSets | Number of advertising sets to enable. |
pAdvHandles | Advertising handles array. |
pDuration | Advertising duration (in milliseconds) array. |
pMaxEaEvents | Maximum number of extended advertising events array. |
void DmAdvStop | ( | uint8_t | numSets, |
uint8_t * | pAdvHandles | ||
) |
Stop advertising for the given advertising set. If the number of sets is set to 0 then all advertising sets are disabled.
numSets | Number of advertising sets to disable. |
pAdvHandles | Advertising handles array. |
void DmAdvUseLegacyPdu | ( | uint8_t | advHandle, |
bool_t | useLegacyPdu | ||
) |
Set whether or not to use legacy advertising PDUs with extended advertising.
advHandle | Advertising handle. |
useLegacyPdu | Whether to use legacy advertising PDUs (default value is TRUE). |
uint8_t DmBigGetSecLevel | ( | uint16_t | handle | ) |
Get the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG) connection handle.
handle | BIS connection handle. |
void DmBigSetBcastCode | ( | uint8_t | bigHandle, |
bool_t | encrypt, | ||
bool_t | authen, | ||
uint8_t * | pBcastCode | ||
) |
Set the Broadcast Code for the given Broadcast Isochronous Group (BIG).
bigHandle | BIG handle. |
encrypt | FALSE (Unencrypted) or TRUE (Encrypted). |
authen | FALSE (Unauthenticated) or TRUE (Authenticated). |
pBcastCode | Broadcast code. |
void DmBigSetPackingFraming | ( | uint8_t | bigHandle, |
uint8_t | packing, | ||
uint32_t | framing | ||
) |
Set the packing scheme and framing format for the given Broadcast Isochronous Group (BIG).
bigHandle | BIG handle. |
packing | Packing scheme. |
framing | Indicates format of BIS Data PDUs. |
void DmBigSetPhy | ( | uint8_t | bigHandle, |
uint8_t | phyBits | ||
) |
Set the PHYs used for transmission of PDUs of Broadcast Isochronous Streams (BISes) in Broadcast Isochronous Group (BIG).
bigHandle | BIG handle. |
phyBits | PHY bit field. |
void DmBigSetSecLevel | ( | uint8_t | bigHandle, |
uint8_t | secLevel | ||
) |
Set the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG).
bigHandle | BIG handle. |
secLevel | Security level. |
void DmBigStart | ( | uint8_t | bigHandle, |
uint8_t | advHandle, | ||
uint8_t | numBis, | ||
uint32_t | sduInterUsec, | ||
uint16_t | maxSdu, | ||
uint16_t | mtlMs, | ||
uint8_t | rtn | ||
) |
Start a Broadcast Isochronous Group (BIG) with one or more Broadcast Isochronous Streams (BISes).
bigHandle | CIG identifier. |
advHandle | Used to identify the periodic advertising train. |
numBis; | Total number of BISes in the BIG. |
sduInterUsec | Interval, in microseconds, of BIG SDUs. |
maxSdu | Maximum size of SDU |
mtlMs | Maximum time, in milliseconds, for transmitting SDU. |
rtn | Retransmitted number. |
void DmBigStop | ( | uint8_t | bigHandle, |
uint8_t | reason | ||
) |
Stop a Broadcast Isochronous Group (BIG) identified for the given handle.
bigHandle | BIG identifier. |
reason | Reason BIG is terminated. |
uint8_t DmBigSyncGetSecLevel | ( | uint16_t | handle | ) |
Get the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG) connection handle.
handle | BIS connection handle. |
void DmBigSyncSetBcastCode | ( | uint8_t | bigHandle, |
bool_t | encrypt, | ||
bool_t | authen, | ||
uint8_t * | pBcastCode | ||
) |
Set the Broadcast Code for the given Broadcast Isochronous Group (BIG).
bigHandle | BIG handle. |
encrypt | FALSE (Unencrypted) or TRUE (Encrypted). |
authen | FALSE (Unauthenticated) or TRUE (Authenticated). |
pBcastCode | Broadcast code. |
void DmBigSyncSetSecLevel | ( | uint8_t | bigHandle, |
uint8_t | secLevel | ||
) |
Set the security level of the LE Security Mode 3 for the given Broadcast Isochronous Group (BIG).
bigHandle | BIG handle. |
secLevel | Security level. |
void DmBigSyncStart | ( | uint8_t | bigHandle, |
uint16_t | syncHandle, | ||
uint8_t | mse, | ||
uint16_t | bigSyncTimeout, | ||
uint8_t | numBis, | ||
uint8_t * | pBis | ||
) |
Synchronize to a Broadcast Isochronous Group (BIG) described in the periodic advertising train specified by the sync handle.
bigHandle | BIG handle. |
syncHandle | Periodic advertising train handle. |
mse | Maximum number of subevents. |
bigSyncTimeout | Synchronization timeout for the BIS, in the units of 10ms. |
numBis | Total number of BISes in the BIG. |
pBis | List of indices of BISes (in ascending order). |
void DmBigSyncStop | ( | uint8_t | bigHandle | ) |
Stop synchronizing or cancel the process of synchronizing to the Broadcast Isochronous Group (BIG) identified by the handle.
bigHandle | BIG handle. |
bool_t DmBisInUse | ( | uint16_t | handle | ) |
For internal use only. Return TRUE if the BIS is in use.
handle | BIS connection handle. |
void DmBisMasterInit | ( | void | ) |
Initialize DM BIS manager for operation as master.
void DmBisSlaveInit | ( | void | ) |
Initialize DM BIS manager for operation as slave.
bool_t DmBisSyncInUse | ( | uint16_t | handle | ) |
For internal use only. Return TRUE if the BIS sync is in use.
handle | BIS connection handle. |
void DmCisAccept | ( | uint16_t | handle | ) |
Inform the Controller to accept the request for the Connected Isochronous Stream (CIS) that is identified by the connection handle.
handle | Connection handle of the CIS. |
void DmCisCigConfig | ( | uint8_t | cigId, |
dmConnId_t | numCis, | ||
HciCisCisParams_t * | pCisParam | ||
) |
Set the parameters of one or more Connected Isochronous Streams (CISes) that are associated with the given Connected Isochronous Group (CIG).
cigId | CIG identifier. |
numCis | Number of CIS to be configured. |
pCisParam | CIS parameters. |
void DmCisCigRemove | ( | uint8_t | cigId | ) |
Remove all the Connected Isochronous Streams (CISes) associated with the given Connected Isochronous Group (CIG).
cigId | CIG identifier. |
void DmCisCigSetPackingFraming | ( | uint8_t | cigId, |
uint8_t | packing, | ||
uint32_t | framing | ||
) |
Set the packing scheme and framing format for the given Connected Isochronous Group (CIG).
cigId | CIG identifier. |
packing | Packing scheme. |
framing | Indicates format of CIS Data PDUs. |
void DmCisCigSetSca | ( | uint8_t | cigId, |
uint8_t | sca | ||
) |
Set the slaves clock accuracy for the given Connected Isochronous Group (CIG).
cigId | CIG identifier. |
sca | Slaves clck accuracy (0 if unknown). |
void DmCisCigSetSduInterval | ( | uint8_t | cigId, |
uint32_t | sduIntervalMToS, | ||
uint32_t | sduIntervalSToM | ||
) |
Set the interval, in microseconds, of periodic SDUs for the given Connected Isochronous Group (CIG).
cigId | CIG ID. |
sduIntervalMToS | Time interval between start of consecutive SDUs from master Host. |
sduIntervalSToM | Time interval between start of consecutive SDUs from slave Host. |
void DmCisCigSetTransLatInterval | ( | uint8_t | cigId, |
uint16_t | transLatMToS, | ||
uint16_t | transLatSToM | ||
) |
Set the maximum transport latency, in microseconds, for the given Connected Isochronous Group (CIG).
cigId | CIG identifier. |
transLatMToS | Maximum time for SDU to be transported from master Controller to slave Controller. |
transLatSToM | Maximum time for SDU to be transported from slave Controller to master Controller. |
void DmCisClose | ( | uint16_t | handle, |
uint8_t | reason | ||
) |
Close the Connected Isochronous Stream (CIS) connection with the given handle.
handle | CIS connection handle. |
reason | Reason connection is being closed. |
bool_t DmCisConnInUse | ( | uint16_t | handle | ) |
For internal use only. Return TRUE if the Connected Isochronous Stream (CIS) connection is in use.
handle | CIS connection handle. |
void DmCisInit | ( | void | ) |
Initialize DM Connected Isochronous Stream (CIS) manager.
void DmCisMasterInit | ( | void | ) |
Initialize DM Connected Isochronous Stream (CIS) manager for operation as master.
void DmCisOpen | ( | uint8_t | numCis, |
uint16_t * | pCisHandle, | ||
uint16_t * | pAclHandle | ||
) |
Create one or more Connected Isochronous Streams (CISes) using the connections identified by the ACL connection handles.
numCis | Total number of CISes to be created. |
pCisHandle | List of connection handles of CISes. |
pAclHandle | List of connection handles of ACLs. |
void DmCisReject | ( | uint16_t | handle, |
uint8_t | reason | ||
) |
Inform the Controller to reject the request for the Connected Isochronous Stream (CIS) that is identified by the connection handle.
handle | Connection handle of the CIS to be rejected. |
reason | Reason the CIS request was rejected. |
void DmCisSlaveInit | ( | void | ) |
Initialize DM Connected Isochronous Stream (CIS) manager for operation as slave.
void DmClearPerAdvList | ( | void | ) |
DM clear periodic advertiser list.
dmConnId_t DmConnAccept | ( | uint8_t | clientId, |
uint8_t | advHandle, | ||
uint8_t | advType, | ||
uint16_t | duration, | ||
uint8_t | maxEaEvents, | ||
uint8_t | addrType, | ||
uint8_t * | pAddr | ||
) |
Accept a connection from the given peer device by initiating directed advertising.
clientId | The client identifier. |
advHandle | Advertising handle. |
advType | Advertising type. |
duration | Advertising duration (in ms). |
maxEaEvents | Maximum number of extended advertising events. |
addrType | Address type. |
pAddr | Peer device address. |
uint16_t DmConnCheckIdle | ( | dmConnId_t | connId | ) |
Check if a connection is idle.
connId | Connection identifier. |
void DmConnClose | ( | uint8_t | clientId, |
dmConnId_t | connId, | ||
uint8_t | reason | ||
) |
Close the connection with the give connection identifier.
clientId | The client identifier. |
connId | Connection identifier. |
reason | Reason connection is being closed. |
uint8_t DmConnCteGetReqState | ( | dmConnId_t | connId | ) |
Returns the device manager's CTE request state for a given connection.
connId | Connection identifier. |
uint8_t DmConnCteGetRspState | ( | dmConnId_t | connId | ) |
Returns the device manager's CTE response state for a given connection.
connId | Connection identifier. |
void DmConnCteInit | ( | void | ) |
Initialize DM Connection Constant Tone Extension (CTE) module.
void DmConnCteReqStart | ( | dmConnId_t | connId, |
uint16_t | cteReqInt, | ||
uint8_t | reqCteLen, | ||
uint8_t | reqCteType | ||
) |
Initiate the CTE Request procedure on the specified connection.
connId | Connection identifier. |
cteReqInt | CTE request interval. |
reqCteLen | Minimum length of CTE being requested in 8 us units. |
reqCteType | Requested CTE type. |
void DmConnCteReqStop | ( | dmConnId_t | connId | ) |
Stop initiating the CTE Request procedure on the specified connection.
connId | Connection identifier. |
void DmConnCteRspStart | ( | dmConnId_t | connId | ) |
Start responding to LL_CTE_REQ PDUs with LL_CTE_RSP PDUs on the specified connection.
connId | Connection identifier. |
void DmConnCteRspStop | ( | dmConnId_t | connId | ) |
Stop responding to LL_CTE_REQ PDUs with LL_CTE_RSP PDUs on the specified connection.
connId | Connection identifier. |
void DmConnCteRxSampleStart | ( | dmConnId_t | connId, |
uint8_t | slotDurations, | ||
uint8_t | switchPatternLen, | ||
uint8_t * | pAntennaIDs | ||
) |
Enable sampling received CTE fields on the specified connection, and configure the antenna switching pattern, and switching and sampling slot durations to be used.
connId | Connection identifier. |
slotDurations | Switching and sampling slot durations to be used while receiving CTE. |
switchPatternLen | Number of Antenna IDs in switching pattern. |
pAntennaIDs | List of Antenna IDs in switching pattern. |
void DmConnCteRxSampleStop | ( | dmConnId_t | connId | ) |
Disable sampling received CTE fields on the specified connection.
connId | Connection identifier. |
void DmConnCteTxConfig | ( | dmConnId_t | connId, |
uint8_t | cteTypeBits, | ||
uint8_t | switchPatternLen, | ||
uint8_t * | pAntennaIDs | ||
) |
Configure the antenna switching pattern, and permitted CTE types used for transmitting CTEs requested by the peer device on the specified connection.
connId | Connection identifier. |
cteTypeBits | Permitted CTE type bits used for transmitting CTEs requested by peer. |
switchPatternLen | Number of Antenna IDs in switching pattern. |
pAntennaIDs | List of Antenna IDs in switching pattern. |
dmConnId_t DmConnIdByHandle | ( | uint16_t | handle | ) |
For internal use only. Find the connection ID with matching handle.
handle | Handle to find. |
void DmConnInit | ( | void | ) |
Initialize DM connection manager.
bool_t DmConnInUse | ( | dmConnId_t | connId | ) |
For internal use only. Return TRUE if the connection is in use.
connId | Connection ID. |
uint8_t* DmConnLocalAddr | ( | dmConnId_t | connId | ) |
For internal use only. Return the local address.
connId | Connection ID. |
uint8_t DmConnLocalAddrType | ( | dmConnId_t | connId | ) |
For internal use only. Return the local address type.
connId | Connection ID. |
uint8_t* DmConnLocalRpa | ( | dmConnId_t | connId | ) |
For internal use only. Return the local resolvable private address (RPA).
connId | Connection ID. |
void DmConnMasterInit | ( | void | ) |
Initialize DM connection manager for operation as legacy master.
dmConnId_t DmConnOpen | ( | uint8_t | clientId, |
uint8_t | initPhys, | ||
uint8_t | addrType, | ||
uint8_t * | pAddr | ||
) |
Open a connection to a peer device with the given address.
clientId | The client identifier. |
initPhys | Initiator PHYs. |
addrType | Address type. |
pAddr | Peer device address. |
uint8_t* DmConnPeerAddr | ( | dmConnId_t | connId | ) |
For internal use only. Return the peer device address.
connId | Connection ID. |
uint8_t DmConnPeerAddrType | ( | dmConnId_t | connId | ) |
For internal use only. Return the peer address type.
connId | Connection ID. |
uint8_t* DmConnPeerRpa | ( | dmConnId_t | connId | ) |
For internal use only. Return the peer resolvable private address (RPA).
connId | Connection ID. |
void DmConnReadRssi | ( | dmConnId_t | connId | ) |
Read RSSI of a given connection.
connId | Connection identifier. |
void DmConnRegister | ( | uint8_t | clientId, |
dmCback_t | cback | ||
) |
Register with the DM connection manager.
clientId | The client identifier. |
cback | Client callback function. |
void DmConnRequestPeerSca | ( | dmConnId_t | connId | ) |
Request the Sleep Clock Accuracy (SCA) of a peer device.
connId | Connection identifier. |
uint8_t DmConnRole | ( | dmConnId_t | connId | ) |
Return the connection role indicating master or slave.
connId | Connection identifier. |
uint8_t DmConnSecLevel | ( | dmConnId_t | connId | ) |
For internal use only. Return the security level of the connection.
connId | Connection ID. |
void DmConnSetAddrType | ( | uint8_t | addrType | ) |
Set the local address type used for connections created with DmConnOpen().
addrType | Address type. |
void DmConnSetConnSpec | ( | hciConnSpec_t * | pConnSpec | ) |
Set the connection spec parameters for connections to be created with DmConnOpen().
pConnSpec | Connection spec parameters. |
void DmConnSetDataLen | ( | dmConnId_t | connId, |
uint16_t | txOctets, | ||
uint16_t | txTime | ||
) |
Set data length for a given connection.
connId | Connection identifier. |
txOctets | Maximum number of payload octets for a Data PDU. |
txTime | Maximum number of microseconds for a Data PDU. |
void DmConnSetIdle | ( | dmConnId_t | connId, |
uint16_t | idleMask, | ||
uint8_t | idle | ||
) |
Configure a bit in the connection idle state mask as busy or idle.
connId | Connection identifier. |
idleMask | Bit in the idle state mask to configure. |
idle | DM_CONN_BUSY or DM_CONN_IDLE. |
void DmConnSetScanInterval | ( | uint16_t | scanInterval, |
uint16_t | scanWindow | ||
) |
Set the scan interval and window for connections to be created with DmConnOpen().
scanInterval | The scan interval. |
scanWindow | The scan window. |
void DmConnSlaveInit | ( | void | ) |
Initialize DM connection manager for operation as legacy slave.
void DmConnUpdate | ( | dmConnId_t | connId, |
hciConnSpec_t * | pConnSpec | ||
) |
Update the connection parameters of an open connection.
connId | Connection identifier. |
pConnSpec | Connection specification. |
void DmDataPathConfig | ( | HciConfigDataPath_t * | pDataPathParam | ) |
Request the Controller to configure the data transport path in a given direction between the Controller and the Host.
pDataPathParam | Parameters for configuring data path. |
void DmDevPrivInit | ( | void | ) |
Initialize device privacy module.
void DmDevPrivStart | ( | uint16_t | changeInterval | ) |
Start using a private resolvable address.
changeInterval | Interval between automatic address changes, in seconds. |
void DmDevPrivStop | ( | void | ) |
Stop using a private resolvable address.
void DmDevReset | ( | void | ) |
Reset the device.
bool_t DmDevSetExtFilterPolicy | ( | uint8_t | advHandle, |
uint8_t | mode, | ||
uint8_t | policy | ||
) |
Set the Advertising filter policy for the given advertising, Scanning or Initiator filter policy.
advHandle | Advertising handle (only applicable to advertising). |
mode | Policy mode. |
policy | Filter policy. |
bool_t DmDevSetFilterPolicy | ( | uint8_t | mode, |
uint8_t | policy | ||
) |
Set the Advertising, Scanning or Initiator filter policy.
mode | Policy mode. |
policy | Filter policy. |
void DmDevSetRandAddr | ( | uint8_t * | pAddr | ) |
Set the random address to be used by the local device.
pAddr | Random address. |
void DmDevVsInit | ( | uint8_t | param | ) |
Vendor-specific controller initialization function.
param | Vendor-specific parameter. |
void DmDevWhiteListAdd | ( | uint8_t | addrType, |
uint8_t * | pAddr | ||
) |
Add a peer device to the white list. Note that this function cannot be called while advertising, scanning, or connecting with white list filtering active.
addrType | Address type. |
pAddr | Peer device address. |
void DmDevWhiteListClear | ( | void | ) |
Clear the white list. Note that this function cannot be called while advertising, scanning, or connecting with white list filtering active.
void DmDevWhiteListRemove | ( | uint8_t | addrType, |
uint8_t * | pAddr | ||
) |
Remove a peer device from the white list. Note that this function cannot be called while advertising, scanning, or connecting with white list filtering active.
addrType | Address type. |
pAddr | Peer device address. |
void DmExtAdvInit | ( | void | ) |
Initialize DM extended advertising.
void DmExtConnMasterInit | ( | void | ) |
Initialize DM connection manager for operation as extended master.
void DmExtConnSetConnSpec | ( | uint8_t | initPhys, |
hciConnSpec_t * | pConnSpec | ||
) |
Set the extended connection spec parameters for extended connections to be created with DmConnOpen().
initPhys | The initiator PHYs. |
pConnSpec | Connection spec parameters array. |
void DmExtConnSetScanInterval | ( | uint8_t | initPhys, |
uint16_t * | pScanInterval, | ||
uint16_t * | pScanWindow | ||
) |
Set the scan interval and window for extended connections to be created with DmConnOpen().
initPhys | Initiator PHYs. |
pScanInterval | Scan interval array. |
pScanWindow | Scan window array. |
void DmExtConnSlaveInit | ( | void | ) |
Initialize DM connection manager for operation as extended slave.
uint16_t DmExtMaxAdvDataLen | ( | uint8_t | advType, |
bool_t | useLegacyPdu | ||
) |
Get the maximum advertising data length supported by Controller for a given advertising type.
advType | Advertising type. |
useLegacyPdu | Whether to use legacy advertising PDUs with extended advertising. |
void DmExtScanInit | ( | void | ) |
Initialize DM extended scanning.
uint8_t* DmFindAdType | ( | uint8_t | adType, |
uint16_t | dataLen, | ||
uint8_t * | pData | ||
) |
Find an advertising data element in the given advertising or scan response data.
adType | Advertising data element type to find. |
dataLen | Data length. |
pData | Pointer to advertising or scan response data. |
uint8_t DmHostAddrType | ( | uint8_t | addrType | ) |
Map an address type to a type used by Host.
addrType | Address type used by LL. |
void DmIsoDataPathRemove | ( | uint16_t | handle, |
uint8_t | directionBits | ||
) |
Remove the input and/or output data path(s) associated with a Connected Isochronous Stream (CIS) or Broadcast Isochronous Stream (BIS) identified by the connection handle parameter.
handle | Connection handle of CIS or BIS. |
directionBits | Data path direction bits. |
void DmIsoDataPathSetup | ( | HciIsoSetupDataPath_t * | pDataPathParam | ) |
Setup the isochronous data path between the Host and the Controller for an established Connected Isochronous Stream (CIS) or Broadcast Isochronous Stream (BIS) identified by the connection handle parameter.
pDataPathParam | Parameters to setup ISO data path. |
void DmIsoInit | ( | void | ) |
Initialize DM ISO manager.
void DmL2cCmdRejInd | ( | uint16_t | handle, |
uint16_t | result | ||
) |
For internal use only. L2C calls this function to send the result of an L2CAP Command Reject up to the application.
handle | Connection handle. |
result | Connection update result code. |
void DmL2cConnUpdateCnf | ( | uint16_t | handle, |
uint16_t | reason | ||
) |
For internal use only. L2C calls this function to send the result of an L2CAP connection update response to DM.
handle | Connection handle. |
reason | Connection update response reason code. |
void DmL2cConnUpdateInd | ( | uint8_t | identifier, |
uint16_t | handle, | ||
hciConnSpec_t * | pConnSpec | ||
) |
For internal use only. L2C calls this function when it receives a connection update request from a peer device.
identifier | Identifier value. |
handle | Connection handle. |
pConnSpec | Connection spec parameters. |
uint8_t DmLlAddrType | ( | uint8_t | addrType | ) |
Map an address type to a type used by LL.
addrType | Address type used by Host. |
bool_t DmLlPrivEnabled | ( | void | ) |
Whether LL Privacy is enabled.
void DmPastConfig | ( | dmConnId_t | connId, |
uint8_t | mode, | ||
uint16_t | skip, | ||
uint16_t | syncTimeout, | ||
uint8_t | cteType | ||
) |
Specify how the Controller should process periodic advertising synchronization information received from the device identified by the connnection handle.
connId | Connection identifier. |
mode | Action to be taken when periodic advertising info is received. |
skip | Number of consecutive periodic advertising packets that the receiver may skip after successfully receiving a periodic advertising packet. |
syncTimeout | Maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. |
cteType | Whether to only synchronize to periodic advertising with certain types of Constant Tone Extension. |
void DmPastDefaultConfig | ( | uint8_t | mode, |
uint16_t | skip, | ||
uint16_t | syncTimeout, | ||
uint8_t | cteType | ||
) |
Specify the initial value for the mode, skip, timeout, and Constant Tone Extension type to be used for all subsequent connections over the LE transport.
mode | Action to be taken when periodic advertising info is received. |
skip | Number of consecutive periodic advertising packets that the receiver may skip after successfully receiving a periodic advertising packet. |
syncTimeout | Maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. |
cteType | Whether to only synchronize to periodic advertising with certain types of Constant Tone Extension. |
void DmPastInit | ( | void | ) |
Initialize DM Periodic Advertising Sync Transfer (PAST) module.
void DmPastRptRcvEnable | ( | dmSyncId_t | syncId, |
bool_t | enable | ||
) |
Enable or disable reports for the periodic advertising identified by the sync id.
syncId | Sync identifier. |
enable | TRUE to enable reporting, FALSE to disable reporting. |
void DmPastSetInfoTrsf | ( | dmConnId_t | connId, |
uint16_t | serviceData, | ||
uint8_t | advHandle | ||
) |
Send synchronization information about the periodic advertising in an advertising set to a connected device.
connId | Connection identifier. |
serviceData | Value provided by the Host. |
advHandle | Advertising handle. |
void DmPastSyncTrsf | ( | dmConnId_t | connId, |
uint16_t | serviceData, | ||
dmSyncId_t | syncId | ||
) |
Send synchronization information about the periodic advertising identified by the sync id to a connected device.
connId | Connection identifier. |
serviceData | Value provided by the Host. |
syncId | Sync identifier. |
void DmPerAdvConfig | ( | uint8_t | advHandle | ) |
Set the advertising parameters for periodic advertising.
advHandle | Advertising handle. |
bool_t DmPerAdvEnabled | ( | uint8_t | advHandle | ) |
Get status of periodic advertising handle.
advHandle | Advertising handle. |
void DmPerAdvIncTxPwr | ( | uint8_t | advHandle, |
bool_t | incTxPwr | ||
) |
Set whether or not to include TxPower in extended header of advertising PDU for periodic advertising.
advHandle | Advertising handle. |
incTxPwr | Whether to include TxPower in extended header of advertising PDU (default value is FALSE). |
void DmPerAdvSetData | ( | uint8_t | advHandle, |
uint8_t | op, | ||
uint8_t | len, | ||
uint8_t * | pData | ||
) |
Set the advertising data to the given data for periodic advertising.
advHandle | Advertising handle. |
op | Data operation. |
len | Length of the data. Maximum length is 236 bytes. |
pData | Pointer to the data. |
void DmPerAdvSetInterval | ( | uint8_t | advHandle, |
uint16_t | intervalMin, | ||
uint16_t | intervalMax | ||
) |
Set the minimum and maximum advertising intervals for periodic advertising.
advHandle | Advertising handle. |
intervalMin | Minimum advertising interval. |
intervalMax | Maximum advertising interval. |
void DmPerAdvStart | ( | uint8_t | advHandle | ) |
Start periodic advertising for the advertising set specified by the advertising handle.
advHandle | Advertising handle. |
void DmPerAdvStop | ( | uint8_t | advHandle | ) |
Stop periodic advertising for the advertising set specified by the advertising handle.
advHandle | Advertising handle. |
void DmPhyInit | ( | void | ) |
Initialize DM PHY.
void DmPrivAddDevToResList | ( | uint8_t | addrType, |
const uint8_t * | pIdentityAddr, | ||
uint8_t * | pPeerIrk, | ||
uint8_t * | pLocalIrk, | ||
bool_t | enableLlPriv, | ||
uint16_t | param | ||
) |
Add device to resolving list. When complete the client's callback function is called with a DM_PRIV_ADD_DEV_TO_RES_LIST_IND event. The client must wait to receive this event before executing this function again.
addrType | Peer identity address type. |
pIdentityAddr | Peer identity address. |
pPeerIrk | The peer's identity resolving key. |
pLocalIrk | The local identity resolving key. |
enableLlPriv | Set to TRUE to enable address resolution in LL. |
param | client-defined parameter returned with callback event. |
This command cannot be used when address resolution is enabled in the Controller and:
If the local or peer IRK associated with the peer Identity Address is all zeros then the Controller will use or accept the local or peer Identity Address respectively.
Parameter 'enableLlPriv' should be set to TRUE when the last device is being added to resolving list to enable address resolution in the Controller.
void DmPrivClearResList | ( | void | ) |
Clear resolving list. When complete the client's callback function is called with a DM_PRIV_CLEAR_RES_LIST_IND event. The client must wait to receive this event before executing this function again.
This command cannot be used when address resolution is enabled in the Controller and:
Address resolution in Controller will be disabled when resolving list's cleared successfully.
void DmPrivGenerateAddr | ( | uint8_t * | pIrk, |
uint16_t | param | ||
) |
Generate a Resolvable Private Address (RPA).
pIrk | The identity resolving key. |
param | Client-defined parameter returned with callback event. |
void DmPrivInit | ( | void | ) |
Initialize DM privacy module.
void DmPrivReadLocalResolvableAddr | ( | uint8_t | addrType, |
const uint8_t * | pIdentityAddr | ||
) |
Read local resolvable address command. When complete the client's callback function is called with a DM_PRIV_READ_LOCAL_RES_ADDR_IND event. The client must wait to receive this event before executing this function again.
addrType | Peer identity address type. |
pIdentityAddr | Peer identity address. |
void DmPrivReadPeerResolvableAddr | ( | uint8_t | addrType, |
const uint8_t * | pIdentityAddr | ||
) |
HCI read peer resolvable address command. When complete the client's callback function is called with a DM_PRIV_READ_PEER_RES_ADDR_IND event. The client must wait to receive this event before executing this function again.
addrType | Peer identity address type. |
pIdentityAddr | Peer identity address. |
void DmPrivRemDevFromResList | ( | uint8_t | addrType, |
const uint8_t * | pIdentityAddr, | ||
uint16_t | param | ||
) |
Remove device from resolving list. When complete the client's callback function is called with a DM_PRIV_REM_DEV_FROM_RES_LIST_IND event. The client must wait to receive this event before executing this function again.
addrType | Peer identity address type. |
pIdentityAddr | Peer identity address. |
param | client-defined parameter returned with callback event. |
This command cannot be used when address resolution is enabled in the Controller and:
void DmPrivResolveAddr | ( | uint8_t * | pAddr, |
uint8_t * | pIrk, | ||
uint16_t | param | ||
) |
Resolve a private resolvable address. When complete the client's callback function is called with a DM_PRIV_RESOLVED_ADDR_IND event. The client must wait to receive this event before executing this function again.
pAddr | Peer device address. |
pIrk | The peer's identity resolving key. |
param | Client-defined parameter returned with callback event. |
void DmPrivSetAddrResEnable | ( | bool_t | enable | ) |
Enable or disable address resolution in LL. When complete the client's callback function is called with a DM_PRIV_SET_ADDR_RES_ENABLE_IND event. The client must wait to receive this event before executing this function again.
enable | Set to TRUE to enable address resolution or FALSE to disable it. |
This command can be used at any time except when:
void DmPrivSetPrivacyMode | ( | uint8_t | addrType, |
const uint8_t * | pIdentityAddr, | ||
uint8_t | mode | ||
) |
Set privacy mode for a given entry in the resolving list.
addrType | Peer identity address type. |
pIdentityAddr | Peer identity address. |
mode | Privacy mode (by default, network privacy mode is used). |
This command can be used at any time except when:
void DmPrivSetResolvablePrivateAddrTimeout | ( | uint16_t | rpaTimeout | ) |
Set resolvable private address timeout command.
rpaTimeout | Timeout measured in seconds. |
void DmReadAntennaInfo | ( | void | ) |
Read the switching rates, the sampling rates, the number of antennae, and the maximum length of a transmitted Constant Tone Extension supported by the Controller.
void DmReadLocalSupCodecCap | ( | HciReadLocalSupCodecCaps_t * | pCodecParam | ) |
Read a list of codec capabilities supported by the Controller for a given codec.
pCodecParam | Parameters for reading local supported codec capabilities. |
void DmReadLocalSupCodecs | ( | void | ) |
Read a list of the codecs supported by the Controller, as well as vendor specific codecs, which are defined by an individual manufacturer.
void DmReadLocalSupCtrDly | ( | HciReadLocalSupControllerDly_t * | pDelayParam | ) |
Read the range of supported Controller delays for the codec specified by Codec ID on a given transport type specified by Logical Transport Type, in the direction specified by Direction, and with the codec configuration specified by Codec Configuration.
pDelayParam | Parameters for reading local supported controller delay. |
void DmReadPhy | ( | dmConnId_t | connId | ) |
Read the current transmitter PHY and receiver PHY for a given connection.
connId | Connection identifier. |
void DmReadRemoteFeatures | ( | dmConnId_t | connId | ) |
For internal use only. Read the features of the remote device.
connId | Connection identifier. |
void DmReadRemoteVerInfo | ( | dmConnId_t | connId | ) |
Read the version info of the remote device.
connId | Connection identifier. |
void DmRegister | ( | dmCback_t | cback | ) |
Register a callback with DM for scan and advertising events.
cback | Client callback function. |
void DmRemoteConnParamReqNegReply | ( | dmConnId_t | connId, |
uint8_t | reason | ||
) |
Negative reply to the HCI remote connection parameter request event. This command is used to indicate that the Host has rejected the remote device's request to change connection parameters.
connId | Connection identifier. |
reason | Reason for rejection. |
void DmRemoteConnParamReqReply | ( | dmConnId_t | connId, |
hciConnSpec_t * | pConnSpec | ||
) |
Reply to the HCI remote connection parameter request event. This command is used to indicate that the Host has accepted the remote device's request to change connection parameters.
connId | Connection identifier. |
pConnSpec | Connection specification. |
void DmRemoveDeviceFromPerAdvList | ( | uint8_t | advAddrType, |
uint8_t * | pAdvAddr, | ||
uint8_t | advSid | ||
) |
DM remove device from periodic advertiser list.
advAddrType | Advertiser address type. |
pAdvAddr | Advertiser address. |
advSid | Advertising SID. |
void DmScanInit | ( | void | ) |
Initialize DM legacy scanning.
bool_t DmScanModeExt | ( | void | ) |
Whether DM scanning is in extended mode.
bool_t DmScanModeLeg | ( | void | ) |
Whether DM scanning is in legacy mode.
void DmScanSetAddrType | ( | uint8_t | addrType | ) |
Set the local address type used while scanning. This function can be used to configure scanning to use a random address.
addrType | Address type. |
void DmScanSetInterval | ( | uint8_t | scanPhys, |
uint16_t * | pScanInterval, | ||
uint16_t * | pScanWindow | ||
) |
Set the scan interval and window for the specified PHYs.
scanPhys | Scanning PHYs. |
pScanInterval | Scan interval array. |
pScanWindow | Scan window array. |
void DmScanStart | ( | uint8_t | scanPhys, |
uint8_t | mode, | ||
const uint8_t * | pScanType, | ||
bool_t | filterDup, | ||
uint16_t | duration, | ||
uint16_t | period | ||
) |
Start scanning on the given PHYs.
scanPhys | Scanner PHYs. |
mode | Discoverability mode. |
pScanType | Scan type array. |
filterDup | Filter duplicates. Set to TRUE to filter duplicate responses received from the same device. Set to FALSE to receive all responses. |
duration | The scan duration, in milliseconds. If set to zero or both duration and period set to non-zero, scanning will continue until DmScanStop() is called. |
period | The scan period, in 1.28 sec units (only applicable to AE). If set to zero, periodic scanning is disabled. |
void DmScanStop | ( | void | ) |
Stop scanning.
void DmSecAuthRsp | ( | dmConnId_t | connId, |
uint8_t | authDataLen, | ||
uint8_t * | pAuthData | ||
) |
This function is called in response to a DM_SEC_AUTH_REQ_IND event to provide PIN or OOB data during pairing.
connId | DM connection ID. |
authDataLen | Length of PIN or OOB data. |
pAuthData | pointer to PIN or OOB data. |
void DmSecCalcOobReq | ( | uint8_t * | pRand, |
uint8_t * | pPubKeyX | ||
) |
This function calculates the local random and confirm values used in LESC OOB pairing. The operation's result is posted as a DM_SEC_CALC_OOB_IND event to the application's DM callback handler. The local rand and confirm values are exchanged with the peer via out-of-band (OOB) methods and passed into the DmSecSetOob after DM_CONN_OPEN_IND.
pRand | Random value used in calculation. |
pPubKeyX | X component of the local public key. |
void DmSecCancelReq | ( | dmConnId_t | connId, |
uint8_t | reason | ||
) |
This function is called to cancel the pairing process.
connId | DM connection ID. |
reason | Failure reason. |
void DmSecCompareRsp | ( | dmConnId_t | connId, |
bool_t | valid | ||
) |
This function is called by the application in response to a DM_SEC_COMPARE_IND event. The valid parameter indicates if the compare value of the DM_SEC_COMPARE_IND was valid.
connId | ID of the connection. |
valid | TRUE if compare value was valid |
void DmSecEncryptReq | ( | dmConnId_t | connId, |
uint8_t | secLevel, | ||
dmSecLtk_t * | pLtk | ||
) |
This function is called by a master device to initiate link encryption.
connId | DM connection ID. |
secLevel | Security level of pairing when LTK was exchanged. |
pLtk | Pointer to LTK parameter structure. |
void DmSecGenerateEccKeyReq | ( | void | ) |
This function generates an ECC key for use with LESC security.
uint32_t DmSecGetCompareValue | ( | uint8_t * | pConfirm | ) |
This function returns the 6-digit compare value for the specified 128-bit confirm value.
pConfirm | Pointer to 128-bit comfirm value. |
secEccKey_t* DmSecGetEccKey | ( | void | ) |
This function gets the local ECC key for use with LESC security.
uint8_t* DmSecGetLocalCsrk | ( | void | ) |
For internal use only. This function gets the local CSRK used by the device.
uint8_t* DmSecGetLocalIdentityAddr | ( | void | ) |
For internal use only. This function gets the local identity address used by the device.
uint8_t DmSecGetLocalIdentityAddrType | ( | void | ) |
For internal use only. This function gets the local identity address type used by the device.
uint8_t* DmSecGetLocalIrk | ( | void | ) |
For internal use only. This function gets the local IRK used by the device.
void DmSecInit | ( | void | ) |
Initialize DM security.
void DmSecLescInit | ( | void | ) |
Initialize DM LE Secure Connections security.
void DmSecLtkRsp | ( | dmConnId_t | connId, |
bool_t | keyFound, | ||
uint8_t | secLevel, | ||
uint8_t * | pKey | ||
) |
This function is called by a slave in response to a DM_SEC_LTK_REQ_IND event to provide the long term key used for encryption.
connId | DM connection ID. |
keyFound | TRUE if key found. |
secLevel | Security level of pairing when key was exchanged. |
pKey | Pointer to the key, if found. |
void DmSecPairReq | ( | dmConnId_t | connId, |
uint8_t | oob, | ||
uint8_t | auth, | ||
uint8_t | iKeyDist, | ||
uint8_t | rKeyDist | ||
) |
This function is called by a master device to initiate pairing.
connId | DM connection ID. |
oob | Out-of-band pairing data present or not present. |
auth | Authentication and bonding flags. |
iKeyDist | Initiator key distribution flags. |
rKeyDist | Responder key distribution flags. |
void DmSecPairRsp | ( | dmConnId_t | connId, |
uint8_t | oob, | ||
uint8_t | auth, | ||
uint8_t | iKeyDist, | ||
uint8_t | rKeyDist | ||
) |
This function is called by a slave device to proceed with pairing after a DM_SEC_PAIR_IND event is received.
connId | DM connection ID. |
oob | Out-of-band pairing data present or not present. |
auth | Authentication and bonding flags. |
iKeyDist | Initiator key distribution flags. |
rKeyDist | Responder key distribution flags. |
void DmSecSetDebugEccKey | ( | void | ) |
This function sets the ECC key for use with LESC security to standard debug keys values.
void DmSecSetEccKey | ( | secEccKey_t * | pKey | ) |
This function sets the ECC key for use with LESC security.
pKey | Pointer to key. |
void DmSecSetLocalCsrk | ( | uint8_t * | pCsrk | ) |
This function sets the local CSRK used by the device.
pCsrk | Pointer to CSRK. |
void DmSecSetLocalIdentityAddr | ( | const uint8_t * | pAddr, |
uint8_t | type | ||
) |
This function sets the local identity address used by the device.
pAddr | Pointer to the address. |
type | Type of the address. |
void DmSecSetLocalIrk | ( | uint8_t * | pIrk | ) |
This function sets the local IRK used by the device.
pIrk | Pointer to IRK. |
void DmSecSetOob | ( | dmConnId_t | connId, |
dmSecLescOobCfg_t * | pConfig | ||
) |
This function configures the DM to use OOB pairing for the given connection. The pRand and pConfirm contain the Random and Confirm values exchanged via out of band methods.
connId | ID of the connection. |
pConfig | Pointer to OOB configuration. |
void DmSecSlaveReq | ( | dmConnId_t | connId, |
uint8_t | auth | ||
) |
This function is called by a slave device to request that the master initiates pairing or link encryption.
connId | DM connection ID. |
auth | Authentication flags. |
void DmSetDefaultPhy | ( | uint8_t | allPhys, |
uint8_t | txPhys, | ||
uint8_t | rxPhys | ||
) |
Set the preferred values for the transmitter PHY and receiver PHY for all subsequent connections.
allPhys | All PHYs preferences. |
txPhys | Preferred transmitter PHYs. |
rxPhys | Preferred receiver PHYs. |
void DmSetPhy | ( | dmConnId_t | connId, |
uint8_t | allPhys, | ||
uint8_t | txPhys, | ||
uint8_t | rxPhys, | ||
uint16_t | phyOptions | ||
) |
Set the PHY preferences for a given connection.
connId | Connection identifier. |
allPhys | All PHYs preferences. |
txPhys | Preferred transmitter PHYs. |
rxPhys | Preferred receiver PHYs. |
phyOptions | PHY options. |
uint16_t DmSizeOfEvt | ( | dmEvt_t * | pDmEvt | ) |
Return size of a DM callback event.
pDmEvt | DM callback event. |
void DmSmpCbackExec | ( | dmEvt_t * | pDmEvt | ) |
For internal use only. Execute DM callback from SMP procedures.
pDmEvt | Pointer to callback event data. |
void DmSmpEncryptReq | ( | dmConnId_t | connId, |
uint8_t | secLevel, | ||
uint8_t * | pKey | ||
) |
For internal use only. This function is called by SMP to request encryption.
connId | DM connection ID. |
secLevel | Security level of pairing when key was exchanged. |
pKey | Pointer to key. |
bool_t DmSyncEnabled | ( | uint16_t | syncHandle | ) |
Get status of sync identified by the handle.
syncHandle | Synch handle. |
bool_t DmSyncEncrypted | ( | uint16_t | syncHandle | ) |
Get the encryption mode of the Broadcast Isochronous Group (BIG) corresponding to the periodic advertising train identified by the sync handle.
syncHandle | Synch handle. |
void DmSyncInitialRptEnable | ( | bool_t | enable | ) |
DM enable or disable initial periodic advertisement reporting.
enable | TRUE to enable initial reporting, FALSE to disable initial reporting. |
void DmSyncSetEncrypt | ( | uint16_t | syncHandle, |
bool_t | encrypt | ||
) |
Set the encryption mode of the Broadcast Isochronous Group (BIG) corresponding to the periodic advertising train identified by the sync handle.
syncHandle | Synch handle. |
encrypt | FALSE (Unencrypted) or FALSE (Encrypted). |
dmSyncId_t DmSyncStart | ( | uint8_t | advSid, |
uint8_t | advAddrType, | ||
const uint8_t * | pAdvAddr, | ||
uint16_t | skip, | ||
uint16_t | syncTimeout | ||
) |
Synchronize with periodic advertising from the given advertiser, and start receiving periodic advertising packets.
Note: The synchronization filter policy is used to determine whether the periodic advertiser list is used. If the periodic advertiser list is not used, the advertising SID, advertiser address type, and advertiser address parameters specify the periodic advertising device to listen to; otherwise these parameters are ignored.
advSid | Advertising SID. |
advAddrType | Advertiser address type. |
pAdvAddr | Advertiser address. |
skip | Number of periodic advertising packets that can be skipped after successful receive. |
syncTimeout | Synchronization timeout. |
void DmSyncStop | ( | dmSyncId_t | syncId | ) |
Stop reception of the periodic advertising identified by the given sync identifier.
syncId | Sync identifier. |
void DmWriteAuthPayloadTimeout | ( | dmConnId_t | connId, |
uint16_t | timeout | ||
) |
Set authenticated payload timeout for a given connection.
connId | Connection identifier. |
timeout | Timeout period in units of 10ms. |