You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ja...@apache.org on 2019/06/12 12:17:10 UTC

[mynewt-nimble] branch master updated: nimble/gap: Add missing doxygen documentation

This is an automated email from the ASF dual-hosted git repository.

janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git


The following commit(s) were added to refs/heads/master by this push:
     new 78cfce4  nimble/gap: Add missing doxygen documentation
78cfce4 is described below

commit 78cfce425899666396c546f40f186a9f55658d89
Author: Szymon Janc <sz...@codecoup.pl>
AuthorDate: Tue Jun 11 09:33:26 2019 +0200

    nimble/gap: Add missing doxygen documentation
---
 nimble/host/include/host/ble_gap.h | 529 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 520 insertions(+), 9 deletions(-)

diff --git a/nimble/host/include/host/ble_gap.h b/nimble/host/include/host/ble_gap.h
index 8cbdc13..a6f92a0 100644
--- a/nimble/host/include/host/ble_gap.h
+++ b/nimble/host/include/host/ble_gap.h
@@ -227,43 +227,99 @@ struct ble_gap_conn_desc {
     uint8_t master_clock_accuracy;
 };
 
+/** @brief Connection parameters  */
 struct ble_gap_conn_params {
+    /** Scan interval in 0.625ms units */
     uint16_t scan_itvl;
+
+    /** Scan window in 0.625ms units */
     uint16_t scan_window;
+
+    /** Minimum value for connection interval in 1.25ms units */
     uint16_t itvl_min;
+
+    /** Maximum value for connection interval in 1.25ms units */
     uint16_t itvl_max;
+
+    /** Connection latency */
     uint16_t latency;
+
+    /** Supervision timeout in 10ms units */
     uint16_t supervision_timeout;
+
+    /** Minimum length of connection event in 0.625ms units */
     uint16_t min_ce_len;
+
+    /** Maximum length of connection event in 0.625ms units */
     uint16_t max_ce_len;
 };
 
+/** @brief Extended discovery parameters */
 struct ble_gap_ext_disc_params {
+    /** Scan interval in 0.625ms units */
     uint16_t itvl;
+
+    /** Scan window in 0.625ms units */
     uint16_t window;
+
+    /** If passive scan should be used */
     uint8_t passive:1;
 };
 
+/** @brief Discovery parameters */
 struct ble_gap_disc_params {
+    /** Scan interval in 0.625ms units */
     uint16_t itvl;
+
+    /** Scan window in 0.625ms units */
     uint16_t window;
+
+    /** Scan filter policy */
     uint8_t filter_policy;
+
+    /** If limited discovery procedure should be used */
     uint8_t limited:1;
+
+    /** If passive scan should be used */
     uint8_t passive:1;
+
+    /** If enable duplicates filtering */
     uint8_t filter_duplicates:1;
 };
 
+/** @brief Connection parameters update parameters */
 struct ble_gap_upd_params {
+    /** Minimum value for connection interval in 1.25ms units */
     uint16_t itvl_min;
+
+    /** Maximum value for connection interval in 1.25ms units */
     uint16_t itvl_max;
+
+    /** Connection latency */
     uint16_t latency;
+
+    /** Supervision timeout in 10ms units */
     uint16_t supervision_timeout;
+
+    /** Minimum length of connection event in 0.625ms units */
     uint16_t min_ce_len;
+
+    /** Maximum length of connection event in 0.625ms units */
     uint16_t max_ce_len;
 };
 
+/** @brief Passkey query */
 struct ble_gap_passkey_params {
+    /** Passkey action, can be one of following constants:
+     *  - BLE_SM_IOACT_NONE
+     *  - BLE_SM_IOACT_OOB
+     *  - BLE_SM_IOACT_INPUT
+     *  - BLE_SM_IOACT_DISP
+     *  - BLE_SM_IOACT_NUMCMP
+     */
     uint8_t action;
+
+    /** Passkey to compare, valid for BLE_SM_IOACT_NUMCMP action */
     uint32_t numcmp;
 };
 
@@ -273,39 +329,100 @@ struct ble_gap_passkey_params {
 #define BLE_GAP_EXT_ADV_DATA_STATUS_INCOMPLETE 0x01
 #define BLE_GAP_EXT_ADV_DATA_STATUS_TRUNCATED  0x02
 
+/** @brief Extended advertising report */
 struct ble_gap_ext_disc_desc {
-    /*** Common fields. */
+    /** Report properties bitmask
+     *  - BLE_HCI_ADV_CONN_MASK
+     *  - BLE_HCI_ADV_SCAN_MASK
+     *  - BLE_HCI_ADV_DIRECT_MASK
+     *  - BLE_HCI_ADV_SCAN_RSP_MASK
+     *  - BLE_HCI_ADV_LEGACY_MASK
+     *  */
     uint8_t props;
+
+    /** Advertising data status, can be one of following constants:
+     *  - BLE_GAP_EXT_ADV_DATA_STATUS_COMPLETE
+     *  - BLE_GAP_EXT_ADV_DATA_STATUS_INCOMPLETE
+     *  - BLE_GAP_EXT_ADV_DATA_STATUS_TRUNCATED
+     */
     uint8_t data_status;
+
+    /** Legacy advertising PDU type. Valid if BLE_HCI_ADV_LEGACY_MASK props is
+     * set. Can be one of following constants:
+     *  - BLE_HCI_ADV_RPT_EVTYPE_ADV_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_DIR_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_SCAN_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_NONCONN_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_SCAN_RSP
+     */
     uint8_t legacy_event_type;
+
+    /** Advertiser address */
     ble_addr_t addr;
+
+    /** Received signal strength indication in dBm (127 if unavailable) */
     int8_t rssi;
+
+    /** Advertiser transmit power in dBm (127 if unavailable) */
     int8_t tx_power;
+
+    /** Advertising Set ID */
     uint8_t sid;
+
+    /** Primary advertising PHY, can be one of following constants:
+     *  - BLE_HCI_LE_PHY_1M
+     *  - BLE_HCI_LE_PHY_CODED
+     */
     uint8_t prim_phy;
+
+    /** Secondary advertising PHY, can be one of following constants:
+     *  - BLE_HCI_LE_PHY_1M
+     *  - LE_HCI_LE_PHY_2M
+     *  - BLE_HCI_LE_PHY_CODED
+     */
     uint8_t sec_phy;
+
+    /** Periodic advertising interval. 0 if no periodic advertising. */
     uint16_t periodic_adv_itvl;
+
+    /** Advertising Data length */
     uint8_t length_data;
+
+    /** Advertising data */
     uint8_t *data;
-    /***
-     * LE direct advertising report fields; direct_addr is BLE_ADDR_ANY if
-     * direct address fields are not present.
+
+    /** Directed advertising address.  Valid if BLE_HCI_ADV_DIRECT_MASK props is
+     * set (BLE_ADDR_ANY otherwise).
      */
     ble_addr_t direct_addr;
 };
 #endif
 
+/** @brief Advertising report */
 struct ble_gap_disc_desc {
-    /*** Common fields. */
+    /** Advertising PDU type. Can be one of following constants:
+     *  - BLE_HCI_ADV_RPT_EVTYPE_ADV_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_DIR_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_SCAN_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_NONCONN_IND
+     *  - BLE_HCI_ADV_RPT_EVTYPE_SCAN_RSP
+     */
     uint8_t event_type;
+
+    /** Advertising Data length */
     uint8_t length_data;
+
+    /** Advertiser address */
     ble_addr_t addr;
+
+    /** Received signal strength indication in dBm (127 if unavailable) */
     int8_t rssi;
+
+    /** Advertising data */
     uint8_t *data;
 
-    /***
-     * LE direct advertising report fields; direct_addr is BLE_ADDR_ANY if
-     * direct address fields are not present.
+    /** Directed advertising address.  Valid for BLE_HCI_ADV_RPT_EVTYPE_DIR_IND
+     * event type (BLE_ADDR_ANY otherwise).
      */
     ble_addr_t direct_addr;
 };
@@ -719,12 +836,30 @@ struct ble_gap_event {
          *     o BLE_GAP_EVENT_PERIODIC_SYNC
          */
         struct {
+            /** BLE_ERR_SUCCESS on success or error code on failure. Other
+             * fields are valid only for success
+             */
             uint8_t status;
+            /** Periodic sync handle */
             uint16_t sync_handle;
+
+            /** Advertising Set ID */
             uint8_t sid;
+
+            /** Advertiser address */
             ble_addr_t adv_addr;
+
+            /** Advertising PHY, can be one of following constants:
+             *  - BLE_HCI_LE_PHY_1M
+             *  - LE_HCI_LE_PHY_2M
+             *  - BLE_HCI_LE_PHY_CODED
+            */
             uint8_t adv_phy;
+
+            /** Periodic advertising interval */
             uint16_t per_adv_ival;
+
+            /** Advertiser clock accuracy */
             uint8_t adv_clk_accuracy;
         } periodic_sync;
 
@@ -734,11 +869,26 @@ struct ble_gap_event {
          *     o BLE_GAP_EVENT_PERIODIC_REPORT
          */
         struct {
+            /** Periodic sync handle */
             uint16_t sync_handle;
+
+            /** Advertiser transmit power in dBm (127 if unavailable) */
             int8_t tx_power;
+
+            /** Received signal strength indication in dBm (127 if unavailable) */
             int8_t rssi;
+
+            /** Advertising data status, can be one of following constants:
+             *  - BLE_HCI_PERIODIC_DATA_STATUS_COMPLETE
+             *  - BLE_HCI_PERIODIC_DATA_STATUS_INCOMPLETE
+             *  - BLE_HCI_PERIODIC_DATA_STATUS_TRUNCATED
+             */
             uint8_t data_status;
+
+            /** Advertising Data length */
             uint8_t data_length;
+
+            /** Advertising data */
             uint8_t *data;
         } periodic_report;
 
@@ -750,7 +900,12 @@ struct ble_gap_event {
          *     o BLE_GAP_EVENT_PERIODIC_SYNC_LOST
          */
         struct {
+            /** Periodic sync handle */
             uint16_t sync_handle;
+
+            /** Reason for sync lost, can be BLE_HS_ETIMEOUT for timeout or
+             * BLE_HS_EDONE for locally terminated sync
+             */
             int reason;
         } periodic_sync_lost;
 #endif
@@ -927,40 +1082,169 @@ int ble_gap_adv_set_fields(const struct ble_hs_adv_fields *rsp_fields);
 int ble_gap_adv_rsp_set_fields(const struct ble_hs_adv_fields *rsp_fields);
 
 #if MYNEWT_VAL(BLE_EXT_ADV)
+/** @brief Extended advertising parameters  */
 struct ble_gap_ext_adv_params {
+    /** If perform connectable advertising */
     unsigned int connectable:1;
+
+    /** If perform scannable advertising */
     unsigned int scannable:1;
+
+    /** If perform directed advertising */
     unsigned int directed:1;
+
+    /** If perform high-duty directed advertising */
     unsigned int high_duty_directed:1;
+
+    /** If use legacy PDUs for advertising */
     unsigned int legacy_pdu:1;
+
+    /** If perform anonymous advertising */
     unsigned int anonymous:1;
+
+    /** If include TX power in advertising PDU */
     unsigned int include_tx_power:1;
+
+    /** If enable scan request notification  */
     unsigned int scan_req_notif:1;
 
+    /** Minimum advertising interval in 0.625ms units, if 0 stack use sane
+     *  defaults
+     */
     uint32_t itvl_min;
+
+    /** Maximum advertising interval in 0.625ms units, if 0 stack use sane
+     *  defaults
+     */
     uint32_t itvl_max;
+
+    /** Advertising channel map , if 0 stack use sane defaults */
     uint8_t channel_map;
+
+    /** Own address type to be used by advertising instance */
     uint8_t own_addr_type;
+
+    /** Peer address for directed advertising, valid only if directed is set */
     ble_addr_t peer;
+
+    /** Advertising  Filter policy */
     uint8_t filter_policy;
+
+    /** Primary advertising PHY to use , can be one of following constants:
+     *  - BLE_HCI_LE_PHY_1M
+     *  - BLE_HCI_LE_PHY_CODED
+     */
     uint8_t primary_phy;
+
+    /** Secondary advertising PHY to use, can be one of following constants:
+     *  - BLE_HCI_LE_PHY_1M
+     *  - LE_HCI_LE_PHY_2M
+     *  - BLE_HCI_LE_PHY_CODED
+     */
     uint8_t secondary_phy;
+
+    /** Preferred advertiser transmit power */
     int8_t tx_power;
+
+    /** Advertising Set ID */
     uint8_t sid;
 };
 
+/**
+ * Configure extended advertising instance
+ *
+ * @param instance            Instance ID
+ * @param params              Additional arguments specifying the particulars
+ *                            of the advertising.
+ * @param selected_tx_power   Selected advertising transmit power will be
+ *                            stored in that param if non-NULL.
+ * @param cb                  The callback to associate with this advertising
+ *                            procedure. Advertising complete event is reported
+ *                            through this callback
+ * @param cb_arg              The optional argument to pass to the callback
+ *                            function.
+ *
+ * @return                      0 on success; nonzero on failure.
+ */
 int ble_gap_ext_adv_configure(uint8_t instance,
                               const struct ble_gap_ext_adv_params *params,
                               int8_t *selected_tx_power,
                               ble_gap_event_fn *cb, void *cb_arg);
+
+/**
+ * Set random address for configured advertising instance.
+ *
+ * @param instance            Instance ID
+ * @param addr                Random address to be set
+ *
+ * @return                      0 on success; nonzero on failure.
+ */
 int ble_gap_ext_adv_set_addr(uint8_t instance, const ble_addr_t *addr);
+
+/**
+ * Start advertising instance.
+ *
+ * @param instance            Instance ID
+ * @param duration            The duration of the advertisement procedure. On
+ *                            expiration, the procedure ends and
+ *                            a BLE_HS_FOREVER  event is reported.
+ *                            Units are milliseconds. Specify 0 for no
+ *                            expiration.
+ * @params max_events         Number of advertising events that should be sent
+ *                            before advertising ends and
+ *                            a BLE_GAP_EVENT_ADV_COMPLETE event is reported.
+ *                            Specify 0 for no limit.
+ *
+ * @return              0 on success, error code on failure.
+ */
 int ble_gap_ext_adv_start(uint8_t instance, int duration, int max_events);
+
+/**
+ * Stops advertising procedure for specified instance.
+ *
+ * @param instance            Instance ID
+ *
+ * @return  0 on success, BLE_HS_EALREADY if there is no active advertising
+ *          procedure for instance, other error code on failure.
+ */
 int ble_gap_ext_adv_stop(uint8_t instance);
+
+/**
+ * Configures the data to include in advertisements packets for specified
+ * advertising instance.
+ *
+ * @param instance            Instance ID
+ * @param data                Chain containing the advertising data.
+ *
+ * @return          0 on success or error code on failure.
+ */
 int ble_gap_ext_adv_set_data(uint8_t instance, struct os_mbuf *data);
+
+/**
+ * Configures the data to include in subsequent scan responses for specified
+ * advertisign instance.
+ *
+ * @param instance            Instance ID
+ * @param data                Chain containing the scan response data.
+ *
+ * @return          0 on success or error code on failure.
+ */
+
 int ble_gap_ext_adv_rsp_set_data(uint8_t instance, struct os_mbuf *data);
+
+/**
+ * Remove existing advertising instance.
+ *
+ * @param instance            Instance ID
+ *
+ * @return              0 on success,
+ *                      BLE_HS_EBUSY if advertising is in progress,
+ *                      other error code on failure.
+ */
 int ble_gap_ext_adv_remove(uint8_t instance);
+
 /**
- * Clear All existing extended Adv Sets.
+ * Clear all existing advertising instances
  * @return              0 on success,
  *                      BLE_HS_EBUSY if advertising is in progress,
  *                      other error code on failure.
@@ -970,34 +1254,151 @@ int ble_gap_ext_adv_clear(void);
 
 /* Periodic Advertising */
 #if MYNEWT_VAL(BLE_PERIODIC_ADV)
+
+/** @brief Periodic advertising parameters  */
 struct ble_gap_periodic_adv_params {
+    /** If include TX power in advertising PDU */
     unsigned int include_tx_power:1;
 
+    /** Minimum advertising interval in 0.625ms units, if 0 stack use sane
+     *  defaults
+     */
     uint16_t itvl_min;
+
+    /** Maximum advertising interval in 0.625ms units, if 0 stack use sane
+     *  defaults
+     */
     uint16_t itvl_max;
 };
 
+/** @brief Periodic sync parameters  */
 struct ble_gap_periodic_sync_params {
+    /** The maximum number of periodic advertising events that controller can
+     * skip after a successful receive.
+     * */
     uint16_t skip;
+
+    /** Synchronization timeout for the periodic advertising train in 10ms units
+     */
     uint16_t sync_timeout;
 };
 
+/**
+ * Configure periodic advertising for specified advertising instance
+ *
+ * This is allowed only for instances configured as non-announymous,
+ * non-connectable and non-scannable.
+ *
+ * @param instance            Instance ID
+ * @param params              Additional arguments specifying the particulars
+ *                            of periodic advertising.
+ *
+ * @return                    0 on success; nonzero on failure.
+ */
 int ble_gap_periodic_adv_configure(uint8_t instance,
                                    const struct ble_gap_periodic_adv_params *params);
+
+/**
+ * Start periodic advertising for specified advertising instance.
+ *
+ * @param instance            Instance ID
+ *
+ * @return              0 on success, error code on failure.
+ */
 int ble_gap_periodic_adv_start(uint8_t instance);
+
+/**
+ * Stop periodic advertising for specified advertising instance.
+ *
+ * @param instance            Instance ID
+ *
+ * @return              0 on success, error code on failure.
+ */
 int ble_gap_periodic_adv_stop(uint8_t instance);
+
+/**
+ * Configures the data to include in periodic advertisements for specified
+ * advertising instance.
+ *
+ * @param instance            Instance ID
+ * @param data                Chain containing the periodic advertising data.
+ *
+ * @return          0 on success or error code on failure.
+ */
 int ble_gap_periodic_adv_set_data(uint8_t instance, struct os_mbuf *data);
 
+/**
+ * Performs the Synchronization procedure with periodic advertiser.
+ *
+ * @param addr               Peer address to synchronize with. If NULL than
+ *                           peers from periodic list are used.
+ * @param adv_sid            Advertiser Set ID
+ * @param params             Additional arguments specifying the particulars
+ *                           of the synchronization procedure.
+ * @param cb                 The callback to associate with this synchrnization
+ *                           procedure. BLE_GAP_EVENT_PERIODIC_REPORT events
+ *                           are reported only by this callback.
+ * @param cb_arg             The optional argument to pass to the callback
+ *                           function.
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_periodic_adv_create_sync(const ble_addr_t *addr, uint8_t adv_sid,
                                      const struct ble_gap_periodic_sync_params *params,
                                      ble_gap_event_fn *cb, void *cb_arg);
+
+/**
+ * Cancel pending synchronization procedure.
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_periodic_adv_create_sync_cancel(void);
+
+/**
+ * Terminate synchronization procedure.
+ *
+ * @param sync_handle        Handle identifying synchronization to terminate.
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_periodic_adv_terminate_sync(uint16_t sync_handle);
+
+/**
+ * Add peer device to periodic synchronization list.
+ *
+ * @param addr               Peer address to add to list.
+ * @param adv_sid            Advertiser Set ID
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_add_dev_to_periodic_adv_list(const ble_addr_t *peer_addr,
                                          uint8_t adv_sid);
+
+/**
+ * Remove peer device from periodic synchronization list.
+ *
+ * @param addr               Peer address to remove from list.
+ * @param adv_sid            Advertiser Set ID
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_rem_dev_from_periodic_adv_list(const ble_addr_t *peer_addr,
                                            uint8_t adv_sid);
+
+/**
+ * Clear periodic synchrnization list.
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_clear_periodic_adv_list(void);
+
+/**
+ * Get periodic synchronization list size.
+ *
+ * @param per_adv_list_size  On success list size is stored here.
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_read_periodic_adv_list_size(uint8_t *per_adv_list_size);
 #endif
 
@@ -1034,6 +1435,46 @@ int ble_gap_disc(uint8_t own_addr_type, int32_t duration_ms,
                  const struct ble_gap_disc_params *disc_params,
                  ble_gap_event_fn *cb, void *cb_arg);
 
+/**
+ * Performs the Limited or General Extended Discovery Procedures.
+ *
+ * @param own_addr_type         The type of address the stack should use for
+ *                              itself when sending scan requests.  Valid
+ *                              values are:
+ *                                      - BLE_ADDR_TYPE_PUBLIC
+ *                                      - BLE_ADDR_TYPE_RANDOM
+ *                                      - BLE_ADDR_TYPE_RPA_PUB_DEFAULT
+ *                                      - BLE_ADDR_TYPE_RPA_RND_DEFAULT
+ *                              This parameter is ignored unless active
+ *                              scanning is being used.
+ * @param duration              The duration of the discovery procedure.
+ *                                  On expiration, if period is set to 0, the
+ *                                  procedure ends and a
+ *                                  BLE_GAP_EVENT_DISC_COMPLETE event is
+ *                                  reported.  Units are 10 milliseconds.
+ *                                  Specify 0 for no expiration.
+ * @param period                Time interval from when the Controller started
+ *                              its last Scan Duration until it begins the
+ *                              subsequent Scan Duration. Specify 0 to scan
+ *                              continuously. Units are 1.28 second.
+ * @param limited               If limited discovery procedure should be used.
+ * @param uncoded_params        Additional arguments specifying the particulars
+ *                              of the discovery procedure for uncoded PHY.
+ *                              If NULL is provided no scan is performed for
+ *                              this PHY.
+  * @param coded_params         Additional arguments specifying the particulars
+ *                              of the discovery procedure for coded PHY.
+ *                              If NULL is provided no scan is performed for
+ *                              this PHY.
+ * @param cb                    The callback to associate with this discovery
+ *                              procedure.  Advertising reports and discovery
+ *                              termination events are reported through this
+ *                              callback.
+ * @param cb_arg                The optional argument to pass to the callback
+ *                              function.
+ *
+ * @return                      0 on success; nonzero on failure.
+ */
 int ble_gap_ext_disc(uint8_t own_addr_type, uint16_t duration, uint16_t period,
                      uint8_t filter_duplicates, uint8_t filter_policy,
                      uint8_t limited,
@@ -1328,23 +1769,93 @@ int ble_gap_unpair_oldest_peer(void);
 
 #define BLE_GAP_PRIVATE_MODE_NETWORK        0
 #define BLE_GAP_PRIVATE_MODE_DEVICE         1
+
+/**
+ * Set privacy mode for specified peer device
+ *
+ * @param peer_addr          Peer device address
+ * @param priv_mode          Privacy mode to be used. Can be one of following
+ *                           constants:
+ *                             - BLE_GAP_PRIVATE_MODE_NETWORK
+ *                             - BLE_GAP_PRIVATE_MODE_DEVICE
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_set_priv_mode(const ble_addr_t *peer_addr, uint8_t priv_mode);
 
 #define BLE_GAP_LE_PHY_1M                   1
 #define BLE_GAP_LE_PHY_2M                   2
 #define BLE_GAP_LE_PHY_CODED                3
+/**
+ * Read PHYs used for specified connection.
+ *
+ * On success output parameters are filled with information about used PHY type.
+ *
+ * @param conn_handle       Connection handle
+ * @param tx_phy            TX PHY used. Can be one of following constants:
+ *                            - BLE_GAP_LE_PHY_1M
+ *                            - BLE_GAP_LE_PHY_2M
+ *                            - BLE_GAP_LE_PHY_CODED
+ * @param rx_phy            RX PHY used. Can be one of following constants:
+ *                            - BLE_GAP_LE_PHY_1M
+ *                            - BLE_GAP_LE_PHY_2M
+ *                            - BLE_GAP_LE_PHY_CODED
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_read_le_phy(uint16_t conn_handle, uint8_t *tx_phy, uint8_t *rx_phy);
 
 #define BLE_GAP_LE_PHY_1M_MASK              0x01
 #define BLE_GAP_LE_PHY_2M_MASK              0x02
 #define BLE_GAP_LE_PHY_CODED_MASK           0x04
 #define BLE_GAP_LE_PHY_ANY_MASK             0x0F
+/**
+ * Set preferred default PHYs to be used for connections.
+ *
+ * @params tx_phys_mask     Preferred TX PHY. Can be mask of following
+ *                          constants:
+ *                          - BLE_GAP_LE_PHY_1M_MASK
+ *                          - BLE_GAP_LE_PHY_2M_MASK
+ *                          - BLE_GAP_LE_PHY_CODED_MASK
+ *                          - BLE_GAP_LE_PHY_ANY_MASK
+ * @params rx_phys_mask     Preferred RX PHY. Can be mask of following
+ *                          constants:
+ *                          - BLE_GAP_LE_PHY_1M_MASK
+ *                          - BLE_GAP_LE_PHY_2M_MASK
+ *                          - BLE_GAP_LE_PHY_CODED_MASK
+ *                          - BLE_GAP_LE_PHY_ANY_MASK
+
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_set_prefered_default_le_phy(uint8_t tx_phys_mask,
                                         uint8_t rx_phys_mask);
 
 #define BLE_GAP_LE_PHY_CODED_ANY            0
 #define BLE_GAP_LE_PHY_CODED_S2             1
 #define BLE_GAP_LE_PHY_CODED_S8             2
+/**
+ * Set preferred PHYs to be used for connection.
+ *
+ * @param conn_handle       Connection handle
+ * @params tx_phys_mask     Preferred TX PHY. Can be mask of following
+ *                          constants:
+ *                          - BLE_GAP_LE_PHY_1M_MASK
+ *                          - BLE_GAP_LE_PHY_2M_MASK
+ *                          - BLE_GAP_LE_PHY_CODED_MASK
+ *                          - BLE_GAP_LE_PHY_ANY_MASK
+ * @params rx_phys_mask     Preferred RX PHY. Can be mask of following
+ *                          constants:
+ *                          - BLE_GAP_LE_PHY_1M_MASK
+ *                          - BLE_GAP_LE_PHY_2M_MASK
+ *                          - BLE_GAP_LE_PHY_CODED_MASK
+ *                          - BLE_GAP_LE_PHY_ANY_MASK
+ * @param phy_opts          Additional PHY options. Valid values are:
+ *                          - BLE_GAP_LE_PHY_CODED_ANY
+ *                          - BLE_GAP_LE_PHY_CODED_S2
+ *                          - BLE_GAP_LE_PHY_CODED_S8
+ *
+ * @return                   0 on success; nonzero on failure.
+ */
 int ble_gap_set_prefered_le_phy(uint16_t conn_handle, uint8_t tx_phys_mask,
                                 uint8_t rx_phys_mask, uint16_t phy_opts);