aboutsummaryrefslogtreecommitdiff
path: root/inc/bluetooth/gap/gap_ping_le.h
diff options
context:
space:
mode:
Diffstat (limited to 'inc/bluetooth/gap/gap_ping_le.h')
-rw-r--r--inc/bluetooth/gap/gap_ping_le.h193
1 files changed, 193 insertions, 0 deletions
diff --git a/inc/bluetooth/gap/gap_ping_le.h b/inc/bluetooth/gap/gap_ping_le.h
new file mode 100644
index 0000000..3620226
--- /dev/null
+++ b/inc/bluetooth/gap/gap_ping_le.h
@@ -0,0 +1,193 @@
+/**
+*********************************************************************************************************
+* Copyright(c) 2016, Realtek Semiconductor Corporation. All rights reserved.
+*********************************************************************************************************
+* @file gap_ping_le.h
+* @brief Head file for GAP PING
+* @details
+* @author
+* @date 2020-06-18
+* @version v0.8
+* *********************************************************************************************************
+*/
+
+/*============================================================================*
+ * Define to prevent recursive inclusion
+ *============================================================================*/
+#ifndef GAP_PING_LE_H
+#define GAP_PING_LE_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*============================================================================*
+ * Header Files
+ *============================================================================*/
+#include "upperstack_config.h"
+#include "gap_le.h"
+#include "gap_le_types.h"
+
+
+/** @addtogroup GAP GAP Module
+ * @{
+ */
+
+/** @addtogroup GAP_LE GAP LE Module
+ * @{
+ */
+
+/** @addtogroup GAP_LE_PING GAP LE PING Module
+ * @{
+ */
+
+
+/*============================================================================*
+ * Macros
+ *============================================================================*/
+/** @defgroup GAP_LE_PING_Exported_Macros GAP LE AoX Exported Macros
+ * @{
+ */
+
+/** @defgroup GAP_LE_PING_MSG_Types APP LE RF Msg Types
+ * @{
+ */
+#define GAP_MSG_LE_PING_INFO 0xD0
+/** End of GAP_LE_PING_MSG_Types
+ * @}
+ */
+
+/** @defgroup GAP_LE_PING_MSG_Opcodes APP LE PING Msg Opcodes
+ * @{
+ */
+#define GAP_LE_PING_WRITE_AUTHEN_PAYLOAD_TIMEOUT 0x0000 //!<Response msg opcode for p_le_write_authen_payload_timeout_rsp
+/**
+ * @}
+ */
+
+/** End of GAP_LE_PING_Exported_Macros
+ * @}
+ */
+
+/*============================================================================*
+ * Types
+ *============================================================================*/
+/** @defgroup GAP_LE_PING_Exported_Types GAP LE PING Exported Types
+ * @brief
+ * @{
+ */
+#if F_BT_LE_4_1_WRITE_AUTHEN_PAYLOAD_TIMEOUT_SUPPORT
+/** @brief Response for writing authenticated payload timeout.*/
+typedef struct
+{
+ uint8_t conn_id;
+ uint16_t cause;
+} T_LE_WRITE_AUTHEN_PAYLOAD_TIMEOUT_RSP;
+#endif
+
+/** @brief GAP LE PING Callback Data*/
+typedef union
+{
+#if F_BT_LE_4_1_WRITE_AUTHEN_PAYLOAD_TIMEOUT_SUPPORT
+ T_LE_WRITE_AUTHEN_PAYLOAD_TIMEOUT_RSP *p_le_write_authen_payload_timeout_rsp;
+#endif
+} T_GAP_LE_PING_CB_DATA;
+
+typedef struct
+{
+ uint16_t opcode;
+ T_GAP_LE_PING_CB_DATA data;
+} T_GAP_LE_PING_CB;
+/** End of GAP_LE_PING_Exported_Types
+ * @}
+ */
+
+/*============================================================================*
+ * Functions
+ *============================================================================*/
+/** @defgroup GAP_LE_PING_Exported_Functions GAP LE PING Exported Functions
+ * @brief
+ * @{
+ */
+
+#if F_BT_LE_4_1_WRITE_AUTHEN_PAYLOAD_TIMEOUT_SUPPORT
+/**
+ * @brief Writes the authenticated payload timeout parameter for the connection identified by the conn_id parameter.
+ * Operation result will be returned by @ref app_gap_callback with cb_type @ref GAP_MSG_LE_WRITE_AUTHEN_PAYLOAD_TIMEOUT.
+ *
+ * @param[in] conn_id Connection ID
+ * @param[in] authen_payload_timeout Maximum amount of time specified between packets authenticated by a valid MIC.
+ * Range: 0x0001 to 0xFFFF
+ * Time = N * 10 ms
+ * Time Range: 10 ms to 655350 ms
+ * @return Read request result.
+ * @retval GAP_CAUSE_SUCCESS: Send request success.
+ * @retval GAP_CAUSE_SEND_REQ_FAILED: Send request sent fail.
+ * @retval GAP_CAUSE_NON_CONN: Failed. No connection
+ *
+ * <b>Example usage</b>
+ * \code{.c}
+ void test()
+ {
+ le_write_authen_payload_timeout(conn_id, authen_payload_timeout);
+ }
+
+ T_APP_RESULT app_gap_callback(uint8_t cb_type, void *p_cb_data)
+ {
+ T_APP_RESULT result = APP_RESULT_SUCCESS;
+ T_LE_CB_DATA *p_data = (T_LE_CB_DATA *)p_cb_data;
+
+ switch (cb_type)
+ {
+ ...
+ case GAP_MSG_LE_PING_INFO:
+ {
+ APP_PRINT_INFO0("GAP_MSG_LE_PING_INFO");
+ T_GAP_LE_PING_CB *p_le_ping_cb;
+ p_le_ping_cb = (T_GAP_LE_PING_CB *)p_data->p_le_cb_data;
+
+ switch (p_le_ping_cb->opcode)
+ {
+ case GAP_LE_PING_WRITE_AUTHEN_PAYLOAD_TIMEOUT:
+ APP_PRINT_INFO2("GAP_LE_PING_WRITE_AUTHEN_PAYLOAD_TIMEOUT: conn_id %d, cause 0x%x",
+ p_le_ping_cb->data.p_le_write_authen_payload_timeout_rsp->conn_id,
+ p_le_ping_cb->data.p_le_write_authen_payload_timeout_rsp->cause);
+ break;
+
+ default:
+ APP_PRINT_ERROR1("app_gap_ping_callback: unhandled cb_type 0x%x", cb_type);
+ break;
+ }
+
+ break;
+ }
+ ...
+ }
+ }
+ * \endcode
+ */
+T_GAP_CAUSE le_write_authen_payload_timeout(uint8_t conn_id, uint16_t authen_payload_timeout);
+#endif
+
+/** End of GAP_LE_PING_Exported_Functions
+ * @}
+ */
+
+/** End of GAP_LE_PING
+ * @}
+ */
+
+/** End of GAP_LE
+ * @}
+ */
+
+/** End of GAP
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GAP_PING_LE_H */