mirror of
https://github.com/espressif/openthread.git
synced 2026-08-30 22:09:54 +00:00
[nrf528xx] udpate SoftDevice version to 7.0.1 (#4324)
This commit is contained in:
committed by
Jonathan Hui
parent
ca7d0c1dec
commit
5af6b23e5f
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
+1
-1
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2007 - 2018, Nordic Semiconductor ASA
|
||||
Copyright (c) 2007 - 2019, Nordic Semiconductor ASA
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012 - 2018, Nordic Semiconductor ASA
|
||||
* Copyright (c) 2012 - 2019, Nordic Semiconductor ASA
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
@@ -123,7 +123,6 @@ enum BLE_COMMON_OPTS
|
||||
BLE_COMMON_OPT_PA_LNA = BLE_OPT_BASE + 0, /**< PA and LNA options */
|
||||
BLE_COMMON_OPT_CONN_EVT_EXT = BLE_OPT_BASE + 1, /**< Extended connection events option */
|
||||
BLE_COMMON_OPT_EXTENDED_RC_CAL = BLE_OPT_BASE + 2, /**< Extended RC calibration option */
|
||||
BLE_COMMON_OPT_ADV_SCHED_CFG = BLE_OPT_BASE + 3, /**< Advertiser role scheduling configuration option */
|
||||
};
|
||||
|
||||
/** @} */
|
||||
@@ -147,12 +146,6 @@ enum BLE_COMMON_OPTS
|
||||
offsetof(ble_evt_t, evt.gattc_evt.params.prim_srvc_disc_rsp.services) + ((ATT_MTU) - 1) / 4 * sizeof(ble_gattc_service_t) \
|
||||
)
|
||||
|
||||
/** @defgroup ADV_SCHED_CFG Advertiser Role Scheduling Configuration
|
||||
* @{ */
|
||||
#define ADV_SCHED_CFG_DEFAULT 0 /**< Default advertiser role scheduling configuration. */
|
||||
#define ADV_SCHED_CFG_IMPROVED 1 /**< Improved advertiser role scheduling configuration in which the housekeeping time is reduced. */
|
||||
/** @} */
|
||||
|
||||
/** @defgroup BLE_USER_MEM_TYPES User Memory Types
|
||||
* @{ */
|
||||
#define BLE_USER_MEM_TYPE_INVALID 0x00 /**< Invalid User Memory Types. */
|
||||
@@ -310,23 +303,12 @@ typedef struct
|
||||
uint8_t enable : 1; /**< Enable extended RC calibration, enabled by default. */
|
||||
} ble_common_opt_extended_rc_cal_t;
|
||||
|
||||
/**
|
||||
* @brief Configuration of BLE advertiser role scheduling.
|
||||
*
|
||||
* @note @ref sd_ble_opt_get is not supported for this option.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
uint8_t sched_cfg; /**< See @ref ADV_SCHED_CFG. */
|
||||
} ble_common_opt_adv_sched_cfg_t;
|
||||
|
||||
/**@brief Option structure for common options. */
|
||||
typedef union
|
||||
{
|
||||
ble_common_opt_pa_lna_t pa_lna; /**< Parameters for controlling PA and LNA pin toggling. */
|
||||
ble_common_opt_conn_evt_ext_t conn_evt_ext; /**< Parameters for enabling extended connection events. */
|
||||
ble_common_opt_extended_rc_cal_t extended_rc_cal; /**< Parameters for enabling extended RC calibration. */
|
||||
ble_common_opt_adv_sched_cfg_t adv_sched_cfg; /**< Parameters for configuring advertiser role scheduling. */
|
||||
} ble_common_opt_t;
|
||||
|
||||
/**@brief Common BLE Option type, wrapping the module specific options. */
|
||||
@@ -545,18 +527,17 @@ SVCALL(SD_BLE_UUID_VS_ADD, uint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const *p_v
|
||||
*
|
||||
* @note Currently this function can only be called with a p_uuid_type set to @ref BLE_UUID_TYPE_UNKNOWN or the last added UUID type.
|
||||
*
|
||||
* @param[in] p_uuid_type Pointer to a uint8_t where the type field in @ref ble_uuid_t::type corresponds to the UUID type that
|
||||
* shall be removed. If the type is set to @ref BLE_UUID_TYPE_UNKNOWN, or the pointer is NULL, the last
|
||||
* Vendor Specific base UUID will be removed.
|
||||
* @param[out] p_uuid_type Pointer to a uint8_t where the type field in @ref ble_uuid_t corresponds to the UUID type that was
|
||||
* removed. If function returns with a failure, it contains the last type that is in use by the ATT Server.
|
||||
* @param[inout] p_uuid_type Pointer to a uint8_t where its value matches the UUID type in @ref ble_uuid_t::type to be removed.
|
||||
* If the type is set to @ref BLE_UUID_TYPE_UNKNOWN, or the pointer is NULL, the last Vendor Specific
|
||||
* base UUID will be removed. If the function returns successfully, the UUID type that was removed will
|
||||
* be written back to @p p_uuid_type. If function returns with a failure, it contains the last type that
|
||||
* is in use by the ATT Server.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS Successfully removed the Vendor Specific base UUID.
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR If p_uuid_type is invalid.
|
||||
* @retval ::NRF_ERROR_INVALID_PARAM If p_uuid_type points to a non-valid UUID type.
|
||||
* @retval ::NRF_ERROR_FORBIDDEN If the Vendor Specific base UUID is in use by the ATT Server.
|
||||
*/
|
||||
|
||||
SVCALL(SD_BLE_UUID_VS_REMOVE, uint32_t, sd_ble_uuid_vs_remove(uint8_t *p_uuid_type));
|
||||
|
||||
|
||||
@@ -638,10 +619,6 @@ SVCALL(SD_BLE_USER_MEM_REPLY, uint32_t, sd_ble_user_mem_reply(uint16_t conn_hand
|
||||
*
|
||||
* @details This call allows the application to set the value of an option.
|
||||
*
|
||||
* @mscs
|
||||
* @mmsc{@ref BLE_GAP_PERIPH_BONDING_STATIC_PK_MSC}
|
||||
* @endmscs
|
||||
*
|
||||
* @param[in] opt_id Option ID, see @ref BLE_COMMON_OPTS and @ref BLE_GAP_OPTS.
|
||||
* @param[in] p_opt Pointer to a ble_opt_t structure containing the option value.
|
||||
*
|
||||
|
||||
+204
-54
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011 - 2018, Nordic Semiconductor ASA
|
||||
* Copyright (c) 2011 - 2019, Nordic Semiconductor ASA
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
@@ -64,46 +64,49 @@ extern "C" {
|
||||
*/
|
||||
enum BLE_GAP_SVCS
|
||||
{
|
||||
SD_BLE_GAP_ADDR_SET = BLE_GAP_SVC_BASE, /**< Set own Bluetooth Address. */
|
||||
SD_BLE_GAP_ADDR_GET = BLE_GAP_SVC_BASE + 1, /**< Get own Bluetooth Address. */
|
||||
SD_BLE_GAP_WHITELIST_SET = BLE_GAP_SVC_BASE + 2, /**< Set active whitelist. */
|
||||
SD_BLE_GAP_DEVICE_IDENTITIES_SET = BLE_GAP_SVC_BASE + 3, /**< Set device identity list. */
|
||||
SD_BLE_GAP_PRIVACY_SET = BLE_GAP_SVC_BASE + 4, /**< Set Privacy settings*/
|
||||
SD_BLE_GAP_PRIVACY_GET = BLE_GAP_SVC_BASE + 5, /**< Get Privacy settings*/
|
||||
SD_BLE_GAP_ADV_SET_CONFIGURE = BLE_GAP_SVC_BASE + 6, /**< Configure an advertising set. */
|
||||
SD_BLE_GAP_ADV_START = BLE_GAP_SVC_BASE + 7, /**< Start Advertising. */
|
||||
SD_BLE_GAP_ADV_STOP = BLE_GAP_SVC_BASE + 8, /**< Stop Advertising. */
|
||||
SD_BLE_GAP_CONN_PARAM_UPDATE = BLE_GAP_SVC_BASE + 9, /**< Connection Parameter Update. */
|
||||
SD_BLE_GAP_DISCONNECT = BLE_GAP_SVC_BASE + 10, /**< Disconnect. */
|
||||
SD_BLE_GAP_TX_POWER_SET = BLE_GAP_SVC_BASE + 11, /**< Set TX Power. */
|
||||
SD_BLE_GAP_APPEARANCE_SET = BLE_GAP_SVC_BASE + 12, /**< Set Appearance. */
|
||||
SD_BLE_GAP_APPEARANCE_GET = BLE_GAP_SVC_BASE + 13, /**< Get Appearance. */
|
||||
SD_BLE_GAP_PPCP_SET = BLE_GAP_SVC_BASE + 14, /**< Set PPCP. */
|
||||
SD_BLE_GAP_PPCP_GET = BLE_GAP_SVC_BASE + 15, /**< Get PPCP. */
|
||||
SD_BLE_GAP_DEVICE_NAME_SET = BLE_GAP_SVC_BASE + 16, /**< Set Device Name. */
|
||||
SD_BLE_GAP_DEVICE_NAME_GET = BLE_GAP_SVC_BASE + 17, /**< Get Device Name. */
|
||||
SD_BLE_GAP_AUTHENTICATE = BLE_GAP_SVC_BASE + 18, /**< Initiate Pairing/Bonding. */
|
||||
SD_BLE_GAP_SEC_PARAMS_REPLY = BLE_GAP_SVC_BASE + 19, /**< Reply with Security Parameters. */
|
||||
SD_BLE_GAP_AUTH_KEY_REPLY = BLE_GAP_SVC_BASE + 20, /**< Reply with an authentication key. */
|
||||
SD_BLE_GAP_LESC_DHKEY_REPLY = BLE_GAP_SVC_BASE + 21, /**< Reply with an LE Secure Connections DHKey. */
|
||||
SD_BLE_GAP_KEYPRESS_NOTIFY = BLE_GAP_SVC_BASE + 22, /**< Notify of a keypress during an authentication procedure. */
|
||||
SD_BLE_GAP_LESC_OOB_DATA_GET = BLE_GAP_SVC_BASE + 23, /**< Get the local LE Secure Connections OOB data. */
|
||||
SD_BLE_GAP_LESC_OOB_DATA_SET = BLE_GAP_SVC_BASE + 24, /**< Set the remote LE Secure Connections OOB data. */
|
||||
SD_BLE_GAP_ENCRYPT = BLE_GAP_SVC_BASE + 25, /**< Initiate encryption procedure. */
|
||||
SD_BLE_GAP_SEC_INFO_REPLY = BLE_GAP_SVC_BASE + 26, /**< Reply with Security Information. */
|
||||
SD_BLE_GAP_CONN_SEC_GET = BLE_GAP_SVC_BASE + 27, /**< Obtain connection security level. */
|
||||
SD_BLE_GAP_RSSI_START = BLE_GAP_SVC_BASE + 28, /**< Start reporting of changes in RSSI. */
|
||||
SD_BLE_GAP_RSSI_STOP = BLE_GAP_SVC_BASE + 29, /**< Stop reporting of changes in RSSI. */
|
||||
SD_BLE_GAP_SCAN_START = BLE_GAP_SVC_BASE + 30, /**< Start Scanning. */
|
||||
SD_BLE_GAP_SCAN_STOP = BLE_GAP_SVC_BASE + 31, /**< Stop Scanning. */
|
||||
SD_BLE_GAP_CONNECT = BLE_GAP_SVC_BASE + 32, /**< Connect. */
|
||||
SD_BLE_GAP_CONNECT_CANCEL = BLE_GAP_SVC_BASE + 33, /**< Cancel ongoing connection procedure. */
|
||||
SD_BLE_GAP_RSSI_GET = BLE_GAP_SVC_BASE + 34, /**< Get the last RSSI sample. */
|
||||
SD_BLE_GAP_PHY_UPDATE = BLE_GAP_SVC_BASE + 35, /**< Initiate or respond to a PHY Update Procedure. */
|
||||
SD_BLE_GAP_DATA_LENGTH_UPDATE = BLE_GAP_SVC_BASE + 36, /**< Initiate or respond to a Data Length Update Procedure. */
|
||||
SD_BLE_GAP_QOS_CHANNEL_SURVEY_START = BLE_GAP_SVC_BASE + 37, /**< Start Quality of Service (QoS) channel survey module. */
|
||||
SD_BLE_GAP_QOS_CHANNEL_SURVEY_STOP = BLE_GAP_SVC_BASE + 38, /**< Stop Quality of Service (QoS) channel survey module. */
|
||||
SD_BLE_GAP_ADV_ADDR_GET = BLE_GAP_SVC_BASE + 39, /**< Get the Address used on air while Advertising. */
|
||||
SD_BLE_GAP_ADDR_SET = BLE_GAP_SVC_BASE, /**< Set own Bluetooth Address. */
|
||||
SD_BLE_GAP_ADDR_GET = BLE_GAP_SVC_BASE + 1, /**< Get own Bluetooth Address. */
|
||||
SD_BLE_GAP_WHITELIST_SET = BLE_GAP_SVC_BASE + 2, /**< Set active whitelist. */
|
||||
SD_BLE_GAP_DEVICE_IDENTITIES_SET = BLE_GAP_SVC_BASE + 3, /**< Set device identity list. */
|
||||
SD_BLE_GAP_PRIVACY_SET = BLE_GAP_SVC_BASE + 4, /**< Set Privacy settings*/
|
||||
SD_BLE_GAP_PRIVACY_GET = BLE_GAP_SVC_BASE + 5, /**< Get Privacy settings*/
|
||||
SD_BLE_GAP_ADV_SET_CONFIGURE = BLE_GAP_SVC_BASE + 6, /**< Configure an advertising set. */
|
||||
SD_BLE_GAP_ADV_START = BLE_GAP_SVC_BASE + 7, /**< Start Advertising. */
|
||||
SD_BLE_GAP_ADV_STOP = BLE_GAP_SVC_BASE + 8, /**< Stop Advertising. */
|
||||
SD_BLE_GAP_CONN_PARAM_UPDATE = BLE_GAP_SVC_BASE + 9, /**< Connection Parameter Update. */
|
||||
SD_BLE_GAP_DISCONNECT = BLE_GAP_SVC_BASE + 10, /**< Disconnect. */
|
||||
SD_BLE_GAP_TX_POWER_SET = BLE_GAP_SVC_BASE + 11, /**< Set TX Power. */
|
||||
SD_BLE_GAP_APPEARANCE_SET = BLE_GAP_SVC_BASE + 12, /**< Set Appearance. */
|
||||
SD_BLE_GAP_APPEARANCE_GET = BLE_GAP_SVC_BASE + 13, /**< Get Appearance. */
|
||||
SD_BLE_GAP_PPCP_SET = BLE_GAP_SVC_BASE + 14, /**< Set PPCP. */
|
||||
SD_BLE_GAP_PPCP_GET = BLE_GAP_SVC_BASE + 15, /**< Get PPCP. */
|
||||
SD_BLE_GAP_DEVICE_NAME_SET = BLE_GAP_SVC_BASE + 16, /**< Set Device Name. */
|
||||
SD_BLE_GAP_DEVICE_NAME_GET = BLE_GAP_SVC_BASE + 17, /**< Get Device Name. */
|
||||
SD_BLE_GAP_AUTHENTICATE = BLE_GAP_SVC_BASE + 18, /**< Initiate Pairing/Bonding. */
|
||||
SD_BLE_GAP_SEC_PARAMS_REPLY = BLE_GAP_SVC_BASE + 19, /**< Reply with Security Parameters. */
|
||||
SD_BLE_GAP_AUTH_KEY_REPLY = BLE_GAP_SVC_BASE + 20, /**< Reply with an authentication key. */
|
||||
SD_BLE_GAP_LESC_DHKEY_REPLY = BLE_GAP_SVC_BASE + 21, /**< Reply with an LE Secure Connections DHKey. */
|
||||
SD_BLE_GAP_KEYPRESS_NOTIFY = BLE_GAP_SVC_BASE + 22, /**< Notify of a keypress during an authentication procedure. */
|
||||
SD_BLE_GAP_LESC_OOB_DATA_GET = BLE_GAP_SVC_BASE + 23, /**< Get the local LE Secure Connections OOB data. */
|
||||
SD_BLE_GAP_LESC_OOB_DATA_SET = BLE_GAP_SVC_BASE + 24, /**< Set the remote LE Secure Connections OOB data. */
|
||||
SD_BLE_GAP_ENCRYPT = BLE_GAP_SVC_BASE + 25, /**< Initiate encryption procedure. */
|
||||
SD_BLE_GAP_SEC_INFO_REPLY = BLE_GAP_SVC_BASE + 26, /**< Reply with Security Information. */
|
||||
SD_BLE_GAP_CONN_SEC_GET = BLE_GAP_SVC_BASE + 27, /**< Obtain connection security level. */
|
||||
SD_BLE_GAP_RSSI_START = BLE_GAP_SVC_BASE + 28, /**< Start reporting of changes in RSSI. */
|
||||
SD_BLE_GAP_RSSI_STOP = BLE_GAP_SVC_BASE + 29, /**< Stop reporting of changes in RSSI. */
|
||||
SD_BLE_GAP_SCAN_START = BLE_GAP_SVC_BASE + 30, /**< Start Scanning. */
|
||||
SD_BLE_GAP_SCAN_STOP = BLE_GAP_SVC_BASE + 31, /**< Stop Scanning. */
|
||||
SD_BLE_GAP_CONNECT = BLE_GAP_SVC_BASE + 32, /**< Connect. */
|
||||
SD_BLE_GAP_CONNECT_CANCEL = BLE_GAP_SVC_BASE + 33, /**< Cancel ongoing connection procedure. */
|
||||
SD_BLE_GAP_RSSI_GET = BLE_GAP_SVC_BASE + 34, /**< Get the last RSSI sample. */
|
||||
SD_BLE_GAP_PHY_UPDATE = BLE_GAP_SVC_BASE + 35, /**< Initiate or respond to a PHY Update Procedure. */
|
||||
SD_BLE_GAP_DATA_LENGTH_UPDATE = BLE_GAP_SVC_BASE + 36, /**< Initiate or respond to a Data Length Update Procedure. */
|
||||
SD_BLE_GAP_QOS_CHANNEL_SURVEY_START = BLE_GAP_SVC_BASE + 37, /**< Start Quality of Service (QoS) channel survey module. */
|
||||
SD_BLE_GAP_QOS_CHANNEL_SURVEY_STOP = BLE_GAP_SVC_BASE + 38, /**< Stop Quality of Service (QoS) channel survey module. */
|
||||
SD_BLE_GAP_ADV_ADDR_GET = BLE_GAP_SVC_BASE + 39, /**< Get the Address used on air while Advertising. */
|
||||
SD_BLE_GAP_NEXT_CONN_EVT_COUNTER_GET = BLE_GAP_SVC_BASE + 40, /**< Get the next connection event counter. */
|
||||
SD_BLE_GAP_CONN_EVT_TRIGGER_START = BLE_GAP_SVC_BASE + 41, /** Start triggering a given task on connection event start. */
|
||||
SD_BLE_GAP_CONN_EVT_TRIGGER_STOP = BLE_GAP_SVC_BASE + 42, /** Stop triggering the task configured using @ref sd_ble_gap_conn_evt_trigger_start. */
|
||||
};
|
||||
|
||||
/**@brief GAP Event IDs.
|
||||
@@ -130,7 +133,7 @@ enum BLE_GAP_EVTS
|
||||
BLE_GAP_EVT_SCAN_REQ_REPORT = BLE_GAP_EVT_BASE + 16, /**< Scan request report. \n See @ref ble_gap_evt_scan_req_report_t. */
|
||||
BLE_GAP_EVT_PHY_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 17, /**< PHY Update Request. \n Reply with @ref sd_ble_gap_phy_update. \n See @ref ble_gap_evt_phy_update_request_t. */
|
||||
BLE_GAP_EVT_PHY_UPDATE = BLE_GAP_EVT_BASE + 18, /**< PHY Update Procedure is complete. \n See @ref ble_gap_evt_phy_update_t. */
|
||||
BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 19, /**< Data Length Update Request. \n Reply with @ref sd_ble_gap_data_length_update.\n See @ref ble_gap_evt_data_length_update_request_t. */
|
||||
BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST = BLE_GAP_EVT_BASE + 19, /**< Data Length Update Request. \n Reply with @ref sd_ble_gap_data_length_update. \n See @ref ble_gap_evt_data_length_update_request_t. */
|
||||
BLE_GAP_EVT_DATA_LENGTH_UPDATE = BLE_GAP_EVT_BASE + 20, /**< LL Data Channel PDU payload length updated. \n See @ref ble_gap_evt_data_length_update_t. */
|
||||
BLE_GAP_EVT_QOS_CHANNEL_SURVEY_REPORT = BLE_GAP_EVT_BASE + 21, /**< Channel survey report. \n See @ref ble_gap_evt_qos_channel_survey_report_t. */
|
||||
BLE_GAP_EVT_ADV_SET_TERMINATED = BLE_GAP_EVT_BASE + 22, /**< Advertising set terminated. \n See @ref ble_gap_evt_adv_set_terminated_t. */
|
||||
@@ -155,8 +158,12 @@ enum BLE_GAP_OPTS
|
||||
*/
|
||||
enum BLE_GAP_CFGS
|
||||
{
|
||||
BLE_GAP_CFG_ROLE_COUNT = BLE_GAP_CFG_BASE, /**< Role count configuration. */
|
||||
BLE_GAP_CFG_DEVICE_NAME = BLE_GAP_CFG_BASE + 1, /**< Device name configuration. */
|
||||
BLE_GAP_CFG_ROLE_COUNT = BLE_GAP_CFG_BASE, /**< Role count configuration. */
|
||||
BLE_GAP_CFG_DEVICE_NAME = BLE_GAP_CFG_BASE + 1, /**< Device name configuration. */
|
||||
BLE_GAP_CFG_PPCP_INCL_CONFIG = BLE_GAP_CFG_BASE + 2, /**< Peripheral Preferred Connection Parameters characteristic
|
||||
inclusion configuration. */
|
||||
BLE_GAP_CFG_CAR_INCL_CONFIG = BLE_GAP_CFG_BASE + 3, /**< Central Address Resolution characteristic
|
||||
inclusion configuration. */
|
||||
};
|
||||
|
||||
/**@brief GAP TX Power roles.
|
||||
@@ -646,6 +653,27 @@ enum BLE_GAP_TX_POWER_ROLES
|
||||
|
||||
/** @} */
|
||||
|
||||
/** @defgroup BLE_GAP_CHAR_INCL_CONFIG GAP Characteristic inclusion configurations
|
||||
* @{
|
||||
*/
|
||||
#define BLE_GAP_CHAR_INCL_CONFIG_INCLUDE (0) /**< Include the characteristic in the Attribute Table */
|
||||
#define BLE_GAP_CHAR_INCL_CONFIG_EXCLUDE_WITH_SPACE (1) /**< Do not include the characteristic in the Attribute table.
|
||||
The SoftDevice will reserve the attribute handles
|
||||
which are otherwise used for this characteristic.
|
||||
By reserving the attribute handles it will be possible
|
||||
to upgrade the SoftDevice without changing handle of the
|
||||
Service Changed characteristic. */
|
||||
#define BLE_GAP_CHAR_INCL_CONFIG_EXCLUDE_WITHOUT_SPACE (2) /**< Do not include the characteristic in the Attribute table.
|
||||
The SoftDevice will not reserve the attribute handles
|
||||
which are otherwise used for this characteristic. */
|
||||
/**@} */
|
||||
|
||||
|
||||
/** @defgroup BLE_GAP_CHAR_INCL_CONFIG_DEFAULTS Characteristic inclusion default values
|
||||
* @{ */
|
||||
#define BLE_GAP_PPCP_INCL_CONFIG_DEFAULT (BLE_GAP_CHAR_INCL_CONFIG_INCLUDE) /**< Included by default. */
|
||||
#define BLE_GAP_CAR_INCL_CONFIG_DEFAULT (BLE_GAP_CHAR_INCL_CONFIG_INCLUDE) /**< Included by default. */
|
||||
/**@} */
|
||||
|
||||
/**@addtogroup BLE_GAP_STRUCTURES Structures
|
||||
* @{ */
|
||||
@@ -1315,7 +1343,10 @@ typedef struct
|
||||
ble_gap_data_length_params_t peer_params; /**< Peer data length parameters. */
|
||||
} ble_gap_evt_data_length_update_request_t;
|
||||
|
||||
/**@brief Event structure for @ref BLE_GAP_EVT_DATA_LENGTH_UPDATE. */
|
||||
/**@brief Event structure for @ref BLE_GAP_EVT_DATA_LENGTH_UPDATE.
|
||||
*
|
||||
* @note This event may also be raised after a PHY Update procedure.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
ble_gap_data_length_params_t effective_params; /**< The effective data length parameters. */
|
||||
@@ -1445,11 +1476,31 @@ typedef struct
|
||||
} ble_gap_cfg_device_name_t;
|
||||
|
||||
|
||||
/**@brief Peripheral Preferred Connection Parameters include configuration parameters, set with @ref sd_ble_cfg_set. */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t include_cfg; /**< Inclusion configuration of the Peripheral Preferred Connection Parameters characteristic.
|
||||
See @ref BLE_GAP_CHAR_INCL_CONFIG. Default is @ref BLE_GAP_PPCP_INCL_CONFIG_DEFAULT. */
|
||||
} ble_gap_cfg_ppcp_incl_cfg_t;
|
||||
|
||||
|
||||
/**@brief Central Address Resolution include configuration parameters, set with @ref sd_ble_cfg_set. */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t include_cfg; /**< Inclusion configuration of the Central Address Resolution characteristic.
|
||||
See @ref BLE_GAP_CHAR_INCL_CONFIG. Default is @ref BLE_GAP_CAR_INCL_CONFIG_DEFAULT. */
|
||||
} ble_gap_cfg_car_incl_cfg_t;
|
||||
|
||||
|
||||
/**@brief Configuration structure for GAP configurations. */
|
||||
typedef union
|
||||
{
|
||||
ble_gap_cfg_role_count_t role_count_cfg; /**< Role count configuration, cfg_id is @ref BLE_GAP_CFG_ROLE_COUNT. */
|
||||
ble_gap_cfg_device_name_t device_name_cfg; /**< Device name configuration, cfg_id is @ref BLE_GAP_CFG_DEVICE_NAME. */
|
||||
ble_gap_cfg_role_count_t role_count_cfg; /**< Role count configuration, cfg_id is @ref BLE_GAP_CFG_ROLE_COUNT. */
|
||||
ble_gap_cfg_device_name_t device_name_cfg; /**< Device name configuration, cfg_id is @ref BLE_GAP_CFG_DEVICE_NAME. */
|
||||
ble_gap_cfg_ppcp_incl_cfg_t ppcp_include_cfg; /**< Peripheral Preferred Connection Parameters characteristic include
|
||||
configuration, cfg_id is @ref BLE_GAP_CFG_PPCP_INCL_CONFIG. */
|
||||
ble_gap_cfg_car_incl_cfg_t car_include_cfg; /**< Central Address Resolution characteristic include configuration,
|
||||
cfg_id is @ref BLE_GAP_CFG_CAR_INCL_CONFIG. */
|
||||
} ble_gap_cfg_t;
|
||||
|
||||
|
||||
@@ -1531,6 +1582,10 @@ typedef struct
|
||||
} ble_gap_opt_slave_latency_disable_t;
|
||||
|
||||
/**@brief Passkey Option.
|
||||
*
|
||||
* @mscs
|
||||
* @mmsc{@ref BLE_GAP_PERIPH_BONDING_STATIC_PK_MSC}
|
||||
* @endmscs
|
||||
*
|
||||
* @details Structure containing the passkey to be used during pairing. This can be used with @ref
|
||||
* sd_ble_opt_set to make the SoftDevice use a preprogrammed passkey for authentication
|
||||
@@ -1603,8 +1658,22 @@ typedef union
|
||||
ble_gap_opt_auth_payload_timeout_t auth_payload_timeout; /**< Parameters for the authenticated payload timeout option.*/
|
||||
ble_gap_opt_slave_latency_disable_t slave_latency_disable; /**< Parameters for the Disable slave latency option */
|
||||
} ble_gap_opt_t;
|
||||
/**@} */
|
||||
|
||||
/**@brief Connection event triggering parameters. */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t ppi_ch_id; /**< PPI channel to use. This channel should be regarded as reserved until
|
||||
connection event PPI task triggering is stopped.
|
||||
The PPI channel ID can not be one of the PPI channels reserved by
|
||||
the SoftDevice. See @ref NRF_SOC_SD_PPI_CHANNELS_SD_ENABLED_MSK. */
|
||||
uint32_t task_endpoint; /**< Task Endpoint to trigger. */
|
||||
uint16_t conn_evt_counter_start; /**< The connection event on which the task triggering should start. */
|
||||
uint16_t period_in_events; /**< Trigger period. Valid range is [1, 32767].
|
||||
If the device is in slave role and slave latency is enabled,
|
||||
this parameter should be set to a multiple of (slave latency + 1)
|
||||
to ensure low power operation. */
|
||||
} ble_gap_conn_event_trigger_t;
|
||||
/**@} */
|
||||
|
||||
/**@addtogroup BLE_GAP_FUNCTIONS Functions
|
||||
* @{ */
|
||||
@@ -1747,6 +1816,10 @@ SVCALL(SD_BLE_GAP_DEVICE_IDENTITIES_SET, uint32_t, sd_ble_gap_device_identities_
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR The pointer to privacy settings is NULL or invalid.
|
||||
* Otherwise, the p_device_irk pointer in privacy parameter is an invalid pointer.
|
||||
* @retval ::NRF_ERROR_INVALID_PARAM Out of range parameters are provided.
|
||||
* @retval ::NRF_ERROR_NOT_SUPPORTED The SoftDevice does not support privacy if the Central Address Resolution
|
||||
characteristic is not configured to be included and the SoftDevice is configured
|
||||
to support central roles.
|
||||
See @ref ble_gap_cfg_car_incl_cfg_t and @ref ble_gap_cfg_role_count_t.
|
||||
* @retval ::NRF_ERROR_INVALID_STATE Privacy settings cannot be changed while advertising, scanning
|
||||
* or creating a connection.
|
||||
*/
|
||||
@@ -1838,7 +1911,10 @@ SVCALL(SD_BLE_GAP_ADV_SET_CONFIGURE, uint32_t, sd_ble_gap_adv_set_configure(uint
|
||||
*
|
||||
* @retval ::NRF_SUCCESS The BLE stack has started advertising.
|
||||
* @retval ::NRF_ERROR_INVALID_STATE adv_handle is not configured or already advertising.
|
||||
* @retval ::NRF_ERROR_CONN_COUNT The limit of available connections has been reached; connectable advertiser cannot be started.
|
||||
* @retval ::NRF_ERROR_CONN_COUNT The limit of available connections for this connection configuration
|
||||
* tag has been reached; connectable advertiser cannot be started.
|
||||
* To increase the number of available connections,
|
||||
* use @ref sd_ble_cfg_set with @ref BLE_GAP_CFG_ROLE_COUNT or @ref BLE_CONN_CFG_GAP.
|
||||
* @retval ::BLE_ERROR_INVALID_ADV_HANDLE Advertising handle not found. Configure a new adveriting handle with @ref sd_ble_gap_adv_set_configure.
|
||||
* @retval ::NRF_ERROR_NOT_FOUND conn_cfg_tag not found.
|
||||
* @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied:
|
||||
@@ -1987,6 +2063,8 @@ SVCALL(SD_BLE_GAP_APPEARANCE_GET, uint32_t, sd_ble_gap_appearance_get(uint16_t *
|
||||
* @retval ::NRF_SUCCESS Peripheral Preferred Connection Parameters set successfully.
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
|
||||
* @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
|
||||
* @retval ::NRF_ERROR_NOT_SUPPORTED The characteristic is not included in the Attribute Table,
|
||||
see @ref ble_gap_cfg_ppcp_incl_cfg_t.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t const *p_conn_params));
|
||||
|
||||
@@ -1997,6 +2075,8 @@ SVCALL(SD_BLE_GAP_PPCP_SET, uint32_t, sd_ble_gap_ppcp_set(ble_gap_conn_params_t
|
||||
*
|
||||
* @retval ::NRF_SUCCESS Peripheral Preferred Connection Parameters retrieved successfully.
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
|
||||
* @retval ::NRF_ERROR_NOT_SUPPORTED The characteristic is not included in the Attribute Table,
|
||||
see @ref ble_gap_cfg_ppcp_incl_cfg_t.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_PPCP_GET, uint32_t, sd_ble_gap_ppcp_get(ble_gap_conn_params_t *p_conn_params));
|
||||
|
||||
@@ -2083,6 +2163,10 @@ SVCALL(SD_BLE_GAP_DEVICE_NAME_GET, uint32_t, sd_ble_gap_device_name_get(uint8_t
|
||||
* @retval ::NRF_ERROR_NO_MEM The maximum number of authentication procedures that can run in parallel for the given role is reached.
|
||||
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
|
||||
* @retval ::NRF_ERROR_NOT_SUPPORTED Setting of sign or link fields in @ref ble_gap_sec_kdist_t not supported.
|
||||
* Distribution of own Identity Information is only supported if the Central
|
||||
* Address Resolution characteristic is configured to be included or
|
||||
* the Softdevice is configured to support peripheral roles only.
|
||||
* See @ref ble_gap_cfg_car_incl_cfg_t and @ref ble_gap_cfg_role_count_t.
|
||||
* @retval ::NRF_ERROR_TIMEOUT A SMP timeout has occurred, and further SMP operations on this link is prohibited.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_handle, ble_gap_sec_params_t const *p_sec_params));
|
||||
@@ -2094,7 +2178,7 @@ SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_
|
||||
* @note If the call returns an error code, the request is still pending, and the reply call may be repeated with corrected parameters.
|
||||
*
|
||||
* @events
|
||||
* @event{This function is used during authentication procedures\, see the list of events in the documentation of @ref sd_ble_gap_authenticate.}
|
||||
* @event{This function is used during authentication procedures, see the list of events in the documentation of @ref sd_ble_gap_authenticate.}
|
||||
* @endevents
|
||||
*
|
||||
* @mscs
|
||||
@@ -2143,6 +2227,10 @@ SVCALL(SD_BLE_GAP_AUTHENTICATE, uint32_t, sd_ble_gap_authenticate(uint16_t conn_
|
||||
* @retval ::NRF_ERROR_INVALID_STATE Security parameters has not been requested.
|
||||
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
|
||||
* @retval ::NRF_ERROR_NOT_SUPPORTED Setting of sign or link fields in @ref ble_gap_sec_kdist_t not supported.
|
||||
* Distribution of own Identity Information is only supported if the Central
|
||||
* Address Resolution characteristic is configured to be included or
|
||||
* the Softdevice is configured to support peripheral roles only.
|
||||
* See @ref ble_gap_cfg_car_incl_cfg_t and @ref ble_gap_cfg_role_count_t.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_SEC_PARAMS_REPLY, uint32_t, sd_ble_gap_sec_params_reply(uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const *p_sec_params, ble_gap_sec_keyset_t const *p_sec_keyset));
|
||||
|
||||
@@ -2341,7 +2429,7 @@ SVCALL(SD_BLE_GAP_ENCRYPT, uint32_t, sd_ble_gap_encrypt(uint16_t conn_handle, bl
|
||||
* @retval ::NRF_ERROR_INVALID_STATE Invalid state to perform operation. Either:
|
||||
* - No link has been established.
|
||||
* - No @ref BLE_GAP_EVT_SEC_REQUEST pending.
|
||||
* - LE long term key requested command not allowed.
|
||||
* - Encryption information provided by the app without being requested. See @ref ble_gap_evt_sec_info_request_t::enc_info.
|
||||
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_SEC_INFO_REPLY, uint32_t, sd_ble_gap_sec_info_reply(uint16_t conn_handle, ble_gap_enc_info_t const *p_enc_info, ble_gap_irk_t const *p_id_info, ble_gap_sign_info_t const *p_sign_info));
|
||||
@@ -2527,7 +2615,9 @@ SVCALL(SD_BLE_GAP_SCAN_STOP, uint32_t, sd_ble_gap_scan_stop(void));
|
||||
* @retval ::NRF_ERROR_INVALID_STATE The SoftDevice is in an invalid state to perform this operation. This may be due to an
|
||||
* existing locally initiated connect procedure, which must complete before initiating again.
|
||||
* @retval ::BLE_ERROR_GAP_INVALID_BLE_ADDR Invalid Peer address.
|
||||
* @retval ::NRF_ERROR_CONN_COUNT The limit of available connections has been reached.
|
||||
* @retval ::NRF_ERROR_CONN_COUNT The limit of available connections for this connection configuration tag has been reached.
|
||||
* To increase the number of available connections,
|
||||
* use @ref sd_ble_cfg_set with @ref BLE_GAP_CFG_ROLE_COUNT or @ref BLE_CONN_CFG_GAP.
|
||||
* @retval ::NRF_ERROR_RESOURCES Either:
|
||||
* - Not enough BLE role slots available.
|
||||
* Stop one or more currently active roles (Central, Peripheral or Observer) and try again.
|
||||
@@ -2573,12 +2663,12 @@ SVCALL(SD_BLE_GAP_CONNECT_CANCEL, uint32_t, sd_ble_gap_connect_cancel(void));
|
||||
* @ref BLE_GAP_EVT_PHY_UPDATE event will have a status set to
|
||||
* @ref BLE_HCI_UNSUPPORTED_REMOTE_FEATURE.
|
||||
*
|
||||
* If the PHY procedure was rejected by the peer due to a procedure collision, the status
|
||||
* If the PHY Update procedure was rejected by the peer due to a procedure collision, the status
|
||||
* will be @ref BLE_HCI_STATUS_CODE_LMP_ERROR_TRANSACTION_COLLISION or
|
||||
* @ref BLE_HCI_DIFFERENT_TRANSACTION_COLLISION.
|
||||
* If the peer responds to the PHY Update procedure with invalid parameters, the status
|
||||
* will be @ref BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS.
|
||||
* If the PHY procedure was rejected by the peer for a different reason, the status will
|
||||
* If the PHY Update procedure was rejected by the peer for a different reason, the status will
|
||||
* contain the reason as specified by the peer.
|
||||
*
|
||||
* @events
|
||||
@@ -2677,6 +2767,9 @@ SVCALL(SD_BLE_GAP_DATA_LENGTH_UPDATE, uint32_t, sd_ble_gap_data_length_update(ui
|
||||
SVCALL(SD_BLE_GAP_QOS_CHANNEL_SURVEY_START, uint32_t, sd_ble_gap_qos_channel_survey_start(uint32_t interval_us));
|
||||
|
||||
/**@brief Stop the Quality of Service (QoS) channel survey module.
|
||||
*
|
||||
* @note The SoftDevice may generate one @ref BLE_GAP_EVT_QOS_CHANNEL_SURVEY_REPORT event after this
|
||||
* function is called.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS The module is successfully stopped.
|
||||
* @retval ::NRF_ERROR_INVALID_STATE Trying to stop the module when it is not running.
|
||||
@@ -2684,6 +2777,63 @@ SVCALL(SD_BLE_GAP_QOS_CHANNEL_SURVEY_START, uint32_t, sd_ble_gap_qos_channel_sur
|
||||
SVCALL(SD_BLE_GAP_QOS_CHANNEL_SURVEY_STOP, uint32_t, sd_ble_gap_qos_channel_survey_stop(void));
|
||||
|
||||
|
||||
/**@brief Obtain the next connection event counter value.
|
||||
*
|
||||
* @details The connection event counter is initialized to zero on the first connection event. The value is incremented
|
||||
* by one for each connection event. For more information see Bluetooth Core Specification v5.0, Vol 6, Part B,
|
||||
* Section 4.5.1.
|
||||
*
|
||||
* @note The connection event counter obtained through this API will be outdated if this API is called
|
||||
* at the same time as the connection event counter is incremented.
|
||||
*
|
||||
* @note This API will always return the last connection event counter + 1.
|
||||
* The actual connection event may be multiple connection events later if:
|
||||
* - Slave latency is enabled and there is no data to transmit or receive.
|
||||
* - Another role is scheduled with a higher priority at the same time as the next connection event.
|
||||
*
|
||||
* @param[in] conn_handle Connection handle.
|
||||
* @param[out] p_counter Pointer to the variable where the next connection event counter will be written.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS The connection event counter was successfully retrieved.
|
||||
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle parameter supplied.
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_NEXT_CONN_EVT_COUNTER_GET, uint32_t, sd_ble_gap_next_conn_evt_counter_get(uint16_t conn_handle, uint16_t * p_counter));
|
||||
|
||||
|
||||
/**@brief Start triggering a given task on connection event start.
|
||||
*
|
||||
* @details When enabled, this feature will trigger a PPI task at the start of connection events.
|
||||
* The application can configure the SoftDevice to trigger every N connection events starting from
|
||||
* a given connection event counter. See also @ref ble_gap_conn_event_trigger_t.
|
||||
*
|
||||
* @param[in] conn_handle Connection handle.
|
||||
* @param[in] p_params Connection event trigger parameters.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS Success.
|
||||
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR Invalid pointer supplied.
|
||||
* @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter supplied. See @ref ble_gap_conn_event_trigger_t.
|
||||
* @retval ::NRF_ERROR_INVALID_STATE Either:
|
||||
* - Trying to start connection event triggering when it is already ongoing.
|
||||
* - @ref ble_gap_conn_event_trigger_t::conn_evt_counter_start is in the past.
|
||||
* Use @ref sd_ble_gap_next_conn_evt_counter_get to find a new value
|
||||
to be used as ble_gap_conn_event_trigger_t::conn_evt_counter_start.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_CONN_EVT_TRIGGER_START, uint32_t, sd_ble_gap_conn_evt_trigger_start(uint16_t conn_handle, ble_gap_conn_event_trigger_t const * p_params));
|
||||
|
||||
|
||||
/**@brief Stop triggering the task configured using @ref sd_ble_gap_conn_evt_trigger_start.
|
||||
*
|
||||
* @param[in] conn_handle Connection handle.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS Success.
|
||||
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
|
||||
* @retval ::NRF_ERROR_INVALID_STATE Trying to stop connection event triggering when it is not enabled.
|
||||
*/
|
||||
SVCALL(SD_BLE_GAP_CONN_EVT_TRIGGER_STOP, uint32_t, sd_ble_gap_conn_evt_trigger_stop(uint16_t conn_handle));
|
||||
|
||||
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -121,7 +121,7 @@ extern "C" {
|
||||
#define BLE_GATT_STATUS_ATTERR_UNLIKELY_ERROR 0x010E /**< ATT Error: Very unlikely error. */
|
||||
#define BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION 0x010F /**< ATT Error: Encrypted link required. */
|
||||
#define BLE_GATT_STATUS_ATTERR_UNSUPPORTED_GROUP_TYPE 0x0110 /**< ATT Error: Attribute type is not a supported grouping attribute. */
|
||||
#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES 0x0111 /**< ATT Error: Encrypted link required. */
|
||||
#define BLE_GATT_STATUS_ATTERR_INSUF_RESOURCES 0x0111 /**< ATT Error: Insufficient resources. */
|
||||
#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_BEGIN 0x0112 /**< ATT Error: Reserved for Future Use range #1 begin. */
|
||||
#define BLE_GATT_STATUS_ATTERR_RFU_RANGE1_END 0x017F /**< ATT Error: Reserved for Future Use range #1 end. */
|
||||
#define BLE_GATT_STATUS_ATTERR_APP_BEGIN 0x0180 /**< ATT Error: Application range begin. */
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
/**
|
||||
* Copyright (c) 2015 - 2018, Nordic Semiconductor ASA
|
||||
*
|
||||
* Copyright (c) 2015 - 2019, Nordic Semiconductor ASA
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
*
|
||||
* 2. Redistributions in binary form, except as embedded into a Nordic
|
||||
* Semiconductor ASA integrated circuit in a product or a software update for
|
||||
* such product, must reproduce the above copyright notice, this list of
|
||||
* conditions and the following disclaimer in the documentation and/or other
|
||||
* materials provided with the distribution.
|
||||
*
|
||||
*
|
||||
* 3. Neither the name of Nordic Semiconductor ASA nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* 4. This software, with or without modification, must only be used with a
|
||||
* Nordic Semiconductor ASA integrated circuit.
|
||||
*
|
||||
*
|
||||
* 5. Any software provided in binary form under this license must not be reverse
|
||||
* engineered, decompiled, modified and/or disassembled.
|
||||
*
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
|
||||
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
@@ -35,7 +35,7 @@
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*
|
||||
*/
|
||||
#ifndef NRF_SD_DEF_H__
|
||||
#define NRF_SD_DEF_H__
|
||||
|
||||
@@ -67,10 +67,10 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/** @brief The major version for the SoftDevice binary distributed with this header file. */
|
||||
#define SD_MAJOR_VERSION (6)
|
||||
#define SD_MAJOR_VERSION (7)
|
||||
|
||||
/** @brief The minor version for the SoftDevice binary distributed with this header file. */
|
||||
#define SD_MINOR_VERSION (1)
|
||||
#define SD_MINOR_VERSION (0)
|
||||
|
||||
/** @brief The bugfix version for the SoftDevice binary distributed with this header file. */
|
||||
#define SD_BUGFIX_VERSION (1)
|
||||
@@ -141,7 +141,7 @@ the start of the SoftDevice (without MBR)*/
|
||||
* Add @ref MBR_SIZE to find the first available flash address when the SoftDevice is installed
|
||||
* just above the MBR (the usual case).
|
||||
*/
|
||||
#define SD_FLASH_SIZE 0x25000
|
||||
#define SD_FLASH_SIZE 0x26000
|
||||
|
||||
/** @brief Defines a macro for retrieving the actual FWID value from a given base address. Use
|
||||
* @ref MBR_SIZE as the argument when the SoftDevice is installed just above the MBR (the usual
|
||||
@@ -274,6 +274,10 @@ typedef struct
|
||||
* perform a reset, using e.g. CMSIS NVIC_SystemReset().
|
||||
* If the application returns from the fault handler the SoftDevice will call NVIC_SystemReset().
|
||||
*
|
||||
* @note It is recommended to either perform a reset in the fault handler or to let the SoftDevice reset the device.
|
||||
* Otherwise SoC peripherals may behave in an undefined way. For example, the RADIO peripherial may
|
||||
* continously transmit packets.
|
||||
*
|
||||
* @note This callback is executed in HardFault context, thus SVC functions cannot be called from the fault callback.
|
||||
*
|
||||
* @param[in] id Fault identifier. See @ref NRF_FAULT_IDS.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015 - 2018, Nordic Semiconductor ASA
|
||||
* Copyright (c) 2015 - 2019, Nordic Semiconductor ASA
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
@@ -71,10 +71,10 @@ extern "C" {
|
||||
#define NRF_RADIO_MINIMUM_TIMESLOT_LENGTH_EXTENSION_TIME_US (200)
|
||||
|
||||
/**@brief The maximum processing time to handle a timeslot extension. */
|
||||
#define NRF_RADIO_MAX_EXTENSION_PROCESSING_TIME_US (17)
|
||||
#define NRF_RADIO_MAX_EXTENSION_PROCESSING_TIME_US (20)
|
||||
|
||||
/**@brief The latest time before the end of a timeslot the timeslot can be extended. */
|
||||
#define NRF_RADIO_MIN_EXTENSION_MARGIN_US (79)
|
||||
#define NRF_RADIO_MIN_EXTENSION_MARGIN_US (82)
|
||||
|
||||
#define SOC_ECB_KEY_LENGTH (16) /**< ECB key length. */
|
||||
#define SOC_ECB_CLEARTEXT_LENGTH (16) /**< ECB cleartext length. */
|
||||
@@ -117,12 +117,6 @@ extern "C" {
|
||||
| (1U << 31) \
|
||||
))
|
||||
|
||||
/**@brief Mask of PPI channels available to the application when the SoftDevice is disabled. */
|
||||
#define NRF_SOC_APP_PPI_CHANNELS_SD_DISABLED_MSK (~NRF_SOC_SD_PPI_CHANNELS_SD_DISABLED_MSK)
|
||||
|
||||
/**@brief Mask of PPI channels available to the application when the SoftDevice is enabled. */
|
||||
#define NRF_SOC_APP_PPI_CHANNELS_SD_ENABLED_MSK (~NRF_SOC_SD_PPI_CHANNELS_SD_ENABLED_MSK)
|
||||
|
||||
/**@brief Mask of PPI groups reserved by the SoftDevice when the SoftDevice is disabled. */
|
||||
#define NRF_SOC_SD_PPI_GROUPS_SD_DISABLED_MSK ((uint32_t)(0))
|
||||
|
||||
@@ -132,12 +126,6 @@ extern "C" {
|
||||
| (1U << 5) \
|
||||
))
|
||||
|
||||
/**@brief Mask of PPI groups available to the application when the SoftDevice is disabled. */
|
||||
#define NRF_SOC_APP_PPI_GROUPS_SD_DISABLED_MSK (~NRF_SOC_SD_PPI_GROUPS_SD_DISABLED_MSK)
|
||||
|
||||
/**@brief Mask of PPI groups available to the application when the SoftDevice is enabled. */
|
||||
#define NRF_SOC_APP_PPI_GROUPS_SD_ENABLED_MSK (~NRF_SOC_SD_PPI_GROUPS_SD_ENABLED_MSK)
|
||||
|
||||
/**@} */
|
||||
|
||||
/**@addtogroup NRF_SOC_ENUMS Enumerations
|
||||
@@ -555,6 +543,8 @@ SVCALL(SD_POWER_POF_ENABLE, uint32_t, sd_power_pof_enable(uint8_t pof_enable));
|
||||
*
|
||||
* @param[in] usbpwrrdy_enable True if the power ready event should be enabled, false if it should be disabled.
|
||||
*
|
||||
* @note Calling this function on a chip without USBD peripheral will result in undefined behaviour.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS
|
||||
*/
|
||||
SVCALL(SD_POWER_USBPWRRDY_ENABLE, uint32_t, sd_power_usbpwrrdy_enable(uint8_t usbpwrrdy_enable));
|
||||
@@ -566,6 +556,8 @@ SVCALL(SD_POWER_USBPWRRDY_ENABLE, uint32_t, sd_power_usbpwrrdy_enable(uint8_t us
|
||||
*
|
||||
* @param[in] usbdetected_enable True if the power ready event should be enabled, false if it should be disabled.
|
||||
*
|
||||
* @note Calling this function on a chip without USBD peripheral will result in undefined behaviour.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS
|
||||
*/
|
||||
SVCALL(SD_POWER_USBDETECTED_ENABLE, uint32_t, sd_power_usbdetected_enable(uint8_t usbdetected_enable));
|
||||
@@ -577,6 +569,8 @@ SVCALL(SD_POWER_USBDETECTED_ENABLE, uint32_t, sd_power_usbdetected_enable(uint8_
|
||||
*
|
||||
* @param[in] usbremoved_enable True if the power ready event should be enabled, false if it should be disabled.
|
||||
*
|
||||
* @note Calling this function on a chip without USBD peripheral will result in undefined behaviour.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS
|
||||
*/
|
||||
SVCALL(SD_POWER_USBREMOVED_ENABLE, uint32_t, sd_power_usbremoved_enable(uint8_t usbremoved_enable));
|
||||
@@ -585,6 +579,8 @@ SVCALL(SD_POWER_USBREMOVED_ENABLE, uint32_t, sd_power_usbremoved_enable(uint8_t
|
||||
*
|
||||
* @param[out] usbregstatus The content of USBREGSTATUS register.
|
||||
*
|
||||
* @note Calling this function on a chip without USBD peripheral will result in undefined behaviour.
|
||||
*
|
||||
* @retval ::NRF_SUCCESS
|
||||
*/
|
||||
SVCALL(SD_POWER_USBREGSTATUS_GET, uint32_t, sd_power_usbregstatus_get(uint32_t * usbregstatus));
|
||||
@@ -1041,7 +1037,12 @@ SVCALL(SD_FLASH_PAGE_ERASE, uint32_t, sd_flash_page_erase(uint32_t page_number))
|
||||
*
|
||||
* @param[in] p_request Pointer to the request parameters.
|
||||
*
|
||||
* @retval ::NRF_ERROR_FORBIDDEN If session not opened or the session is not IDLE.
|
||||
* @retval ::NRF_ERROR_FORBIDDEN Either:
|
||||
* - The session is not open.
|
||||
* - The session is not IDLE.
|
||||
* - This is the first request and its type is not @ref NRF_RADIO_REQ_TYPE_EARLIEST.
|
||||
* - The request type was set to @ref NRF_RADIO_REQ_TYPE_NORMAL after a
|
||||
* @ref NRF_RADIO_REQ_TYPE_EARLIEST request was blocked.
|
||||
* @retval ::NRF_ERROR_INVALID_ADDR If the p_request pointer is invalid.
|
||||
* @retval ::NRF_ERROR_INVALID_PARAM If the parameters of p_request are not valid.
|
||||
* @retval ::NRF_SUCCESS Otherwise.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012 - 2017, Nordic Semiconductor ASA
|
||||
* Copyright (c) 2012 - 2019, Nordic Semiconductor ASA
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
@@ -45,6 +45,16 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** @brief Supervisor call declaration.
|
||||
*
|
||||
* A call to a function marked with @ref SVCALL, will trigger a Supervisor Call (SVC) Exception.
|
||||
* The SVCs with SVC numbers 0x00-0x0F are forwared to the application. All other SVCs are handled by the SoftDevice.
|
||||
*
|
||||
* @param[in] number The SVC number to be used.
|
||||
* @param[in] return_type The return type of the SVC function.
|
||||
* @param[in] signature Function signature. The function can have at most four arguments.
|
||||
*/
|
||||
|
||||
#ifdef SVCALL_AS_NORMAL_FUNCTION
|
||||
#define SVCALL(number, return_type, signature) return_type signature
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user