From 11f2f2e329ef404d0e9c022cb2f9fbbb45bae285 Mon Sep 17 00:00:00 2001
From: nancy.liao <huihui.liao@greentest.com.cn>
Date: 周日, 27 4月 2025 17:33:31 +0800
Subject: [PATCH] 完成了SCPI命令语法分析器的完整规则

---
 examples/common/scpi-def.h |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/examples/common/scpi-def.h b/examples/common/scpi-def.h
index 646a653..471c9a9 100644
--- a/examples/common/scpi-def.h
+++ b/examples/common/scpi-def.h
@@ -1,18 +1,65 @@
+/*-
+ * BSD 2-Clause License
+ *
+ * Copyright (c) 2012-2018, Jan Breuer
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ *   list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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 __SCPI_DEF_H_
 #define __SCPI_DEF_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #include "scpi/scpi.h"
 
+#define SCPI_INPUT_BUFFER_LENGTH 256
+#define SCPI_ERROR_QUEUE_SIZE 17
+
+
+#define SCPI_IDN1 "MANUFACTURE"
+#define SCPI_IDN2 "INSTR2013"
+#define SCPI_IDN3 NULL
+#define SCPI_IDN4 "01-02"
+
+extern const scpi_command_t scpi_commands[];
+extern scpi_interface_t scpi_interface;
+extern char scpi_input_buffer[];
+extern scpi_error_t scpi_error_queue_data[];
 extern scpi_t scpi_context;
 
 size_t SCPI_Write(scpi_t * context, const char * data, size_t len);
 int SCPI_Error(scpi_t * context, int_fast16_t err);
-scpi_result_t SCPI_Srq(scpi_t * context);
+scpi_result_t SCPI_Control(scpi_t * context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val);
 scpi_result_t SCPI_Reset(scpi_t * context);
-scpi_result_t SCPI_Test(scpi_t * context);
+scpi_result_t SCPI_Flush(scpi_t * context);
 
 
+scpi_result_t SCPI_SystemCommTcpipControlQ(scpi_t * context);
 
-
-#endif // __SCPI_DEF_H_
+#ifdef __cplusplus
+}
+#endif
+#endif /* __SCPI_DEF_H_ */
 

--
Gitblit v1.9.1