From cc432b761c884a0bd8e9d83db0a4e26109fc08b1 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 08 十一月 2024 15:35:38 +0800
Subject: [PATCH] 安邦手环GPS删除部分无用数据和修改4G波特率9600出厂测试固件

---
 keil/include/components/uwb/inc/uwb_link_layer.h |  126 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 126 insertions(+), 0 deletions(-)

diff --git a/keil/include/components/uwb/inc/uwb_link_layer.h b/keil/include/components/uwb/inc/uwb_link_layer.h
new file mode 100644
index 0000000..7712298
--- /dev/null
+++ b/keil/include/components/uwb/inc/uwb_link_layer.h
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2019-2023 Beijing Hanwei Innovation Technology Ltd. Co. and
+ * its subsidiaries and affiliates (collectly called MKSEMI).
+ *
+ * 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 an MKSEMI
+ *    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 MKSEMI 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
+ *    MKSEMI 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 MKSEMI "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
+ * DISCLAIMED. IN NO EVENT SHALL MKSEMI OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 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 UWB_LINK_LAYER_H_
+#define UWB_LINK_LAYER_H_
+#include "mk_common.h"
+
+#define LL_LINK_NUM_MAX (1)
+
+enum LL_PDU_MSG_TYPE_T
+{
+    MSG_NON_SECURE_EP_CL_DATA = 0x20,
+    MSG_SECURE_EP_CL_DATA = 0x21,
+    MSG_CONNECT_REQ = 0x30,
+    MSG_CONNECT_RSP = 0x31,
+    MSG_DISCONNECT_REQ = 0x40,
+    MSG_CO_DATA = 0x50,
+    MSG_CO_RX = 0x51,
+    MSG_AGGREGATED_FRAME = 0x60,
+    MSG_LL_PARAM = 0x70,
+};
+
+enum LL_COMPONENT_PARAM_TAG_T
+{
+    TAG_LL_PARAM = 0x01,
+    TAG_CONNECT_PARAM = 0x02,
+    TAG_WAITING_TIME = 0x03,
+    TAG_SERVICE_ANNOUNCEMENT = 0x04,
+    TAG_SERVICE_DISCOVERY = 0x05,
+    TAG_SERVICE_SELECTION = 0x06,
+    TAG_STATUS = 0x07,
+};
+
+enum LL_STATUS_T
+{
+    LL_ACK,
+    LL_NACK,
+    LL_NO_FRAME_RECEIVED,
+    LL_SEMANTIC_ERR,
+    LL_SYNTAX_ERR,
+    LL_NO_PENDING_SDU,
+};
+
+struct LL_PARAM_T
+{
+    uint8_t version;
+    uint16_t max_sdu_size;
+    uint16_t max_pdu_size;
+    uint8_t tx_win_size;
+    uint8_t max_retry;
+    uint8_t link_timeout;
+    uint8_t src_ports;
+};
+
+struct CONNECT_PARAM_T
+{
+    uint8_t con_id;
+    uint8_t dst_port;
+    uint8_t src_port;
+    uint8_t ep_type;
+    uint8_t src_addr_type;
+    uint8_t src_addr[8];
+};
+
+struct LL_HANDLE_T
+{
+    uint8_t status; // 0: link not exist, 1: link created
+    uint8_t con_id;
+    uint16_t addr;
+    uint8_t lsn;
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8_t uwb_ll_dev_idx(uint8_t con_id);
+
+void uwb_ll_connect(uint16_t addr, struct CONNECT_PARAM_T *param);
+void uwb_ll_disconnect(uint8_t con_id);
+void uwb_co_data_tx(uint8_t con_id, uint8_t *data, uint16_t len);
+
+void uwb_ll_rx_process(uint8_t *data, uint16_t len);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* UWB_LINK_LAYER_H_ */

--
Gitblit v1.9.3