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