From 67ca69985af9109a0603a1cde71f21b940c059ff Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期四, 15 五月 2025 09:12:53 +0800
Subject: [PATCH] 完全将免布线标签代码移植过来版本

---
 keil/include/components/internet/src/AIR780ECSQ.c |  148 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/keil/include/components/internet/src/AIR780ECSQ.c b/keil/include/components/internet/src/AIR780ECSQ.c
new file mode 100644
index 0000000..8571343
--- /dev/null
+++ b/keil/include/components/internet/src/AIR780ECSQ.c
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * File Name         : AIR780ELBS.c
+ * Description       :
+ * Created on        : 2018年5月23日
+ * Author            : 杜键
+ *******************************************************************************/
+
+/*******************************************************************************
+ *                              Include Files                                  *
+ *******************************************************************************/
+#include "AIR780ECSQ.h"
+
+#include "string.h"
+#include "stdlib.h"
+#include "Module.h"
+#include "Module.h"
+#include "AIR780EDriver.h"
+#include "AIR780EFSM.h"
+#include "HIDO_Util.h"
+#include "HIDO_FSM.h"
+#include "HIDO_Timer.h"
+#include "HIDO_ATLite.h"
+#include "HIDO_Debug.h"
+#include "ATConfig.h"
+
+/*******************************************************************************
+ *                                  Macro                                      *
+ *******************************************************************************/
+
+/*******************************************************************************
+ *                             Type Definition                                 *
+ *******************************************************************************/
+
+/*******************************************************************************
+ *                             Local Variable                                  *
+ *******************************************************************************/
+HIDO_FSM_DETACHED_STATE(AIR780ECSQ)
+
+/*******************************************************************************
+ *                        Local Function Declaration                           *
+ *******************************************************************************/
+
+/*******************************************************************************
+ *                             Local Function                                  *
+ *******************************************************************************/
+/*******************************************************************************
+ * State Name        : AIR780ECSQ
+ * Parent State      :
+ * Description       :
+ * Author            : 杜键
+ * Modified Date:    : 2018-05-01
+ *******************************************************************************/
+HIDO_FSM_DETACHED_STATE_IMPLEMENT(AIR780ECSQ, HIDO_NULL, HIDO_NULL)
+{
+    static const HIDO_StateStruct *l_pstAfterState = HIDO_NULL;
+    HIDO_ATLiteDeviceStruct *_pstATDevice = (HIDO_ATLiteDeviceStruct *) _pstFSM->m_pPrivateData;
+
+    switch (_u32Event)
+    {
+        case HIDO_EVENT_ENTRY:
+        {
+            HIDO_StateArgStruct *pstStateArg = (HIDO_StateArgStruct *)_pArg;
+
+            l_pstAfterState = pstStateArg->m_pstAfterState;
+
+            HIDO_ATLiteCmdSend(_pstATDevice, AT_GENERAL_TIMEOUT_TIME, "AT+CSQ\r\n");
+            break;
+        }
+        case HIDO_EVENT_EXIT:
+        {
+            HIDO_ATLiteCmdSendOver(_pstATDevice);
+            break;
+        }
+        case HIDO_AT_EVENT_OK:
+        case HIDO_AT_EVENT_ERROR:
+        {
+            HIDO_FSMStateChange(_pstFSM, l_pstAfterState, HIDO_NULL);
+            break;
+        }
+        case AIR780E_EVENT_CSQ:
+        {
+            /* +CSQ: 0,31 */
+            HIDO_UINT32 u32CSQResult = 0;
+            HIDO_DataStruct *pstData = (HIDO_DataStruct *) _pArg;
+
+            if (HIDO_UtilParseFormat((HIDO_UINT8 *) pstData->m_pData, pstData->m_u32Len, "+CSQ: %d,%*\r\n",
+                    &u32CSQResult)!= 2)
+            {
+                break;
+            }
+
+            Module_SignalIntensityResult(u32CSQResult);
+
+            break;
+        }
+        default:
+        {
+            return HIDO_EVENT_NO_PROC;
+        }
+    }
+
+    return HIDO_EVENT_OK;
+}
+
+/*******************************************************************************
+ *                             Global Function                                 *
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Function Name     : AIR780ECSQ_Poll
+ * Description       :
+ * Input             :
+ * Output            :
+ * Return            :
+ * Author            : 杜键
+ * Modified Date:    : 2018年5月22日
+ *******************************************************************************/
+HIDO_INT32 AIR780ECSQ_Poll(HIDO_ATLiteDeviceStruct *_pstATDevice)
+{
+    if (Module_SignalIntensityNeedRequest() == HIDO_TRUE)
+    {
+        AIR780ECSQ_Get(_pstATDevice);
+        return HIDO_OK;
+    }
+
+    return HIDO_ERR;
+}
+
+/*******************************************************************************
+ * Function Name     : AIR780ECSQ_Poll
+ * Description       :
+ * Input             :
+ * Output            :
+ * Return            :
+ * Author            : 杜键
+ * Modified Date:    : 2018年5月22日
+ *******************************************************************************/
+HIDO_INT32 AIR780ECSQ_Get(HIDO_ATLiteDeviceStruct *_pstATDevice)
+{
+    HIDO_StateArgStruct stStateArg;
+
+    stStateArg.m_pArg = HIDO_NULL;
+    stStateArg.m_pstAfterState = _pstATDevice->m_pstFSM->m_pstCurrentState;
+    HIDO_FSM_DETACHED_STATE_SETTLE(AIR780ECSQ, _pstATDevice->m_pstFSM->m_pstCurrentState->m_pstParent, HIDO_NULL);
+    HIDO_FSMStateChange(_pstATDevice->m_pstFSM, HIDO_FSM_STATE(AIR780ECSQ), &stStateArg);
+
+    return HIDO_OK;
+}

--
Gitblit v1.9.3