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/wsf/include/wsf_os.h |  228 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 228 insertions(+), 0 deletions(-)

diff --git a/keil/include/components/wsf/include/wsf_os.h b/keil/include/components/wsf/include/wsf_os.h
new file mode 100644
index 0000000..a596892
--- /dev/null
+++ b/keil/include/components/wsf/include/wsf_os.h
@@ -0,0 +1,228 @@
+/*************************************************************************************************/
+/*!
+ *  \file   wsf_os.h
+ *
+ *  \brief  Software foundation OS API.
+ *
+ *  Copyright (c) 2009-2019 Arm Ltd. All Rights Reserved.
+ *
+ *  Copyright (c) 2019-2020 Packetcraft, Inc.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+/*************************************************************************************************/
+#ifndef WSF_OS_H
+#define WSF_OS_H
+
+#include "wsf_types.h"
+#include "wsf_queue.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*! \addtogroup WSF_OS_API
+ *  \{ */
+
+/**************************************************************************************************
+  Configuration
+**************************************************************************************************/
+
+/*! \brief OS Diagnostics */
+#ifndef WSF_OS_DIAG
+#define WSF_OS_DIAG FALSE
+#endif
+
+/**************************************************************************************************
+  Macros
+**************************************************************************************************/
+
+/*! \brief Derive task from handler ID */
+#define WSF_TASK_FROM_ID(handlerID) (((handlerID) >> 4) & 0x0F)
+
+/*! \brief Derive handler from handler ID */
+#define WSF_HANDLER_FROM_ID(handlerID) ((handlerID)&0x0F)
+
+/*! \brief Invalid Task Identifier */
+#define WSF_INVALID_TASK_ID 0xFF
+
+/*! \brief Get Diagnostic Task Identifier */
+#if WSF_OS_DIAG == TRUE
+#define WSF_OS_GET_ACTIVE_HANDLER_ID() WsfActiveHandler
+#else
+#define WSF_OS_GET_ACTIVE_HANDLER_ID() WSF_INVALID_TASK_ID
+#endif /* WSF_OS_DIAG */
+
+/** @name WSF Task Events
+ *
+ */
+/**@{*/
+#define WSF_MSG_QUEUE_EVENT 0x01 /*!< \brief Message queued for event handler */
+#define WSF_TIMER_EVENT 0x02     /*!< \brief Timer expired for event handler */
+#define WSF_HANDLER_EVENT 0x04   /*!< \brief Event set for event handler */
+/**@}*/
+
+/**************************************************************************************************
+  Data Types
+**************************************************************************************************/
+
+/*! \brief Event handler ID data type */
+typedef uint8_t wsfHandlerId_t;
+
+/*! \brief Event handler event mask data type */
+typedef uint16_t wsfEventMask_t;
+
+/*! \brief Task ID data type */
+typedef wsfHandlerId_t wsfTaskId_t;
+
+/*! \brief Task event mask data type */
+typedef uint8_t wsfTaskEvent_t;
+
+/*! \brief      Idle check function. */
+typedef bool_t (*WsfOsIdleCheckFunc_t)(void);
+
+/**************************************************************************************************
+  External Variables
+**************************************************************************************************/
+
+/*! \brief Diagnostic Task Identifier */
+extern wsfHandlerId_t WsfActiveHandler;
+
+/**************************************************************************************************
+  Data Types
+**************************************************************************************************/
+
+/*! \brief Common message structure passed to event handler */
+typedef struct
+{
+    uint16_t param; /*!< \brief General purpose parameter passed to event handler */
+    uint8_t event;  /*!< \brief General purpose event value passed to event handler */
+    uint8_t status; /*!< \brief General purpose status value passed to event handler */
+} wsfMsgHdr_t;
+
+/**************************************************************************************************
+  Callback Function Types
+**************************************************************************************************/
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Event handler callback function.
+ *
+ *  \param  event    Mask of events set for the event handler.
+ *  \param  pMsg     Pointer to message for the event handler.
+ */
+/*************************************************************************************************/
+typedef void (*wsfEventHandler_t)(wsfEventMask_t event, const void *pMsg);
+
+/**************************************************************************************************
+  Function Declarations
+**************************************************************************************************/
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Set an event for an event handler.
+ *
+ *  \param  handlerId   Handler ID.
+ *  \param  event       Event or events to set.
+ */
+/*************************************************************************************************/
+void WsfSetEvent(wsfHandlerId_t handlerId, wsfEventMask_t event);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Lock task scheduling.
+ */
+/*************************************************************************************************/
+uint32_t WsfTaskLock(void);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Unlock task scheduling.
+ */
+/*************************************************************************************************/
+void WsfTaskUnlock(uint32_t lock);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Set the task used by the given handler as ready to run.
+ *
+ *  \param  handlerId   Event handler ID.
+ *  \param  event       Task event mask.
+ */
+/*************************************************************************************************/
+void WsfTaskSetReady(wsfHandlerId_t handlerId, wsfTaskEvent_t event);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Return the task message queue used by the given handler.
+ *
+ *  \param  handlerId   Event handler ID.
+ *
+ *  \return Task message queue.
+ */
+/*************************************************************************************************/
+wsfQueue_t *WsfTaskMsgQueue(wsfHandlerId_t handlerId);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Set the next WSF handler function in the WSF OS handler array.  This function
+ *          should only be called as part of the OS initialization procedure.
+ *
+ *  \param  handler    WSF handler function.
+ *
+ *  \return WSF handler ID for this handler.
+ */
+/*************************************************************************************************/
+wsfHandlerId_t WsfOsSetNextHandler(wsfEventHandler_t handler);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Check if WSF is ready to sleep.
+ *
+ *  \return Return TRUE if there are no pending WSF task events set, FALSE otherwise.
+ */
+/*************************************************************************************************/
+bool_t wsfOsReadyToSleep(void);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Event dispatched.  Designed to be called repeatedly from infinite loop.
+ */
+/*************************************************************************************************/
+void wsfOsDispatcher(void);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Initialize OS control structure.
+ *
+ *  \return None.
+ */
+/*************************************************************************************************/
+void WsfOsInit(void);
+
+/*************************************************************************************************/
+/*!
+ *  \brief  Register service check functions.
+ *
+ *  \param  func   Service function.
+ */
+/*************************************************************************************************/
+void WsfOsRegisterSleepCheckFunc(WsfOsIdleCheckFunc_t func);
+
+/*! \} */ /* WSF_OS_API */
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* WSF_OS_H */

--
Gitblit v1.9.3