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/hido/Include/HIDO_ATLite.h |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)

diff --git a/keil/include/components/hido/Include/HIDO_ATLite.h b/keil/include/components/hido/Include/HIDO_ATLite.h
new file mode 100644
index 0000000..99683c9
--- /dev/null
+++ b/keil/include/components/hido/Include/HIDO_ATLite.h
@@ -0,0 +1,110 @@
+/*
+ * HIDO_ATLite.h
+ *
+ *  Created on: 2017年9月5日
+ *      Author: YIYI
+ */
+
+#ifndef _HIDO_ATLITE_H_
+#define _HIDO_ATLITE_H_
+
+#include "HIDO_TypeDef.h"
+#include "HIDO_FSM.h"
+
+/* 执行结果描述 */
+typedef enum
+{
+    HIDO_AT_EVENT_OK = HIDO_EVENT_EXIT + 1,                                    /* 执行成功 */
+    HIDO_AT_EVENT_ERROR,                                                       /* 执行失败 */
+    HIDO_AT_EVENT_TIMEOUT,                                                     /* 执行超时 */
+    HIDO_AT_EVENT_SEND_ERROR,                                                  /* 发送失败 */
+    HIDO_AT_EVENT_LAST,
+}HIDO_ATEventEnum;
+
+typedef struct HIDO_ATLiteDevice HIDO_ATLiteDeviceStruct;
+typedef struct HIDO_ATLiteDeviceInitStruct HIDO_ATLiteDeviceInitStruct;
+
+/* AT指令集描述 */
+typedef struct HIDO_ATLiteCmdSet
+{
+    const HIDO_CHAR *m_pcCmd;
+    HIDO_UINT32 m_u32CmdEvent;
+}HIDO_ATLiteCmdSetStruct;
+
+typedef HIDO_INT32 (*HIDO_ATLiteGetcFunc)(HIDO_ATLiteDeviceStruct *, HIDO_CHAR *);
+typedef HIDO_INT32 (*HIDO_ATLiteReadLineFunc)(HIDO_ATLiteDeviceStruct *);
+typedef HIDO_INT32 (*HIDO_ATLiteOutputFunc)(HIDO_ATLiteDeviceStruct *, HIDO_UINT8 *, HIDO_UINT32 );
+
+#define AT_READ_CHAR_LF                     0x0A
+#define AT_READ_CHAR_CR                     0x0D
+
+typedef enum
+{
+    AT_RAED_FLAG_NONE = 0,
+    AT_RAED_FLAG_GET_CR,
+    AT_RAED_FLAG_GET_LF,
+}HIDO_ATReadFlagEnum;
+
+/* 驱动初始化描述 */
+struct HIDO_ATLiteDeviceInitStruct
+{
+    HIDO_FSMStruct *m_pstFSM;
+    const HIDO_ATLiteCmdSetStruct *m_pstAtSets;                                 /* 指令集首地址 */
+    HIDO_UINT32 m_u32AtSetsCount;                                               /* 指令集个数 */
+    HIDO_ATLiteGetcFunc m_fnGetc;
+    HIDO_ATLiteReadLineFunc m_fnReadLine;
+    HIDO_ATLiteOutputFunc m_fnOutput;
+    HIDO_CHAR *m_pcSendBuf;
+    HIDO_UINT32 m_u32SendBufSize;
+    HIDO_CHAR *m_pcLineBuf;
+    HIDO_UINT32 m_u32LineBufSize;
+
+    HIDO_VOID *m_pUserData;
+};
+
+/* 驱动方法描述 */
+struct HIDO_ATLiteDevice
+{
+    HIDO_ATLiteDeviceStruct *m_pstNext;
+    const HIDO_ATLiteCmdSetStruct *m_pstAtSets;                                 /* 指令集首地址 */
+    HIDO_UINT32 m_u32AtSetsCount;                                               /* 指令集个数 */
+
+    HIDO_ATLiteGetcFunc m_fnGetc;
+    HIDO_ATLiteReadLineFunc m_fnReadLine;
+    HIDO_ATLiteOutputFunc m_fnOutput;
+
+    HIDO_CHAR *m_pcSendBuf;
+    HIDO_UINT32 m_u32SendBufSize;
+    HIDO_UINT32 m_u32SendLen;
+
+    HIDO_CHAR *m_pcLineBuf;
+    HIDO_UINT32 m_u32LineBufSize;
+    HIDO_UINT32 m_u32LineLen;
+    HIDO_ATReadFlagEnum m_eLineReadFlag;
+
+    HIDO_VOID *m_pUserData;
+    HIDO_UINT32 m_u32TimerID;
+    HIDO_FSMStruct *m_pstFSM;
+
+#define HIDO_AT_LITE_MAX_CMD_COUNT                    64                        /* 最大AT指令个数 */
+#define HIDO_AT_LITE_MATCH_FLAG_SET                   0x01                      /* 匹配标记被设置 */
+#define HIDO_AT_LITE_MATCH_FLAG_CLEAR                 0x00                      /* 匹配标记被清空 */
+#define HIDO_AT_LITE_MATCH_END_CHAR                   '\0'                      /* 匹配结束字符 */
+
+    HIDO_UINT8 m_au8MatchFlag[HIDO_AT_LITE_MAX_CMD_COUNT];
+};
+
+HIDO_VOID HIDO_ATLiteRecvReset(HIDO_ATLiteDeviceStruct *_pstATDevice);
+HIDO_VOID HIDO_ATLiteEvent(HIDO_ATLiteDeviceStruct *_pstATDevice, HIDO_UINT32 _u32Event, HIDO_VOID *_pArg);
+HIDO_INT32 HIDO_ATLiteCmdSend(HIDO_ATLiteDeviceStruct *_pstATDevice, HIDO_UINT32 _u32TimeoutMs, const HIDO_CHAR *_pcCmdFmt, ...);
+HIDO_INT32 HIDO_ATLiteDataSend(HIDO_ATLiteDeviceStruct *_pstATDevice, HIDO_UINT32 _u32TimeoutMs, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len);
+HIDO_INT32 HIDO_ATLiteCmdSendOver(HIDO_ATLiteDeviceStruct *_pstATDevice);
+HIDO_VOID HIDO_ATLitePoll(void);
+HIDO_VOID HIDO_ATLiteClean(HIDO_ATLiteDeviceStruct *_pstATDevice);
+HIDO_VOID HIDO_ATLiteDebugOn(void);
+HIDO_VOID HIDO_ATLiteDebugOff(void);
+HIDO_BOOL HIDO_ATLiteGetDebugFlag(void);
+HIDO_INT32 HIDO_ATLiteDeviceInit(HIDO_ATLiteDeviceStruct *_pstDevice, HIDO_ATLiteDeviceInitStruct *_pstInit);
+HIDO_INT32 HIDO_ATLiteDeviceRegister(HIDO_ATLiteDeviceStruct *_pstDevice);
+
+#endif /* _HIDO_ATLITE_H_ */

--
Gitblit v1.9.3