From 6092bdc4b163977bb5f31df50e6b2a6def28aac5 Mon Sep 17 00:00:00 2001
From: Chernov Dmitriy <cd_work@mail.ru>
Date: 摹曛, 25 2月 2016 21:53:34 +0800
Subject: [PATCH] start #73

---
 libscpi/src/minimal.c |   41 +++++++++++++++++++++++++++--------------
 1 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/libscpi/src/minimal.c b/libscpi/src/minimal.c
index c133fe6..ecfcaf2 100644
--- a/libscpi/src/minimal.c
+++ b/libscpi/src/minimal.c
@@ -57,7 +57,7 @@
  * @return 
  */
 scpi_result_t SCPI_StubQ(scpi_t * context) {
-    SCPI_ResultString(context, "");
+    SCPI_ResultInt32(context, 0);
     return SCPI_RES_OK;
 }
 
@@ -67,7 +67,7 @@
  * @return 
  */
 scpi_result_t SCPI_SystemVersionQ(scpi_t * context) {
-    SCPI_ResultString(context, SCPI_DEV_VERSION);
+    SCPI_ResultMnemonic(context, SCPI_STD_VERSION_REVISION);
     return SCPI_RES_OK;
 }
 
@@ -77,11 +77,24 @@
  * @return 
  */
 scpi_result_t SCPI_SystemErrorNextQ(scpi_t * context) {
-    int16_t err = SCPI_ErrorPop(context);
+	scpi_error_t error;
+	if(!SCPI_ErrorPopEx(context, &error))return SCPI_RES_ERR;
+	
+    //int16_t err = SCPI_ErrorPop(context);
 
-    SCPI_ResultInt(context, err);
-    SCPI_ResultText(context, SCPI_ErrorTranslate(err));
+    SCPI_ResultInt32(context, error.error_code);
+    SCPI_ResultText(context, SCPI_ErrorTranslate(error.error_code));
+	
+	size_t info_len=0;
+	if(error.device_dependent_info){
+		info_len=SCPIDEFINE_strnlen(error.device_dependent_info,255);
+		SCPI_ResultCharacters(context, ";", 1);
+		SCPI_ResultText(context, error.device_dependent_info);
+		SCPIDEFINE_free(error.device_dependent_info);		
+	}
+	
 
+	
     return SCPI_RES_OK;
 }
 
@@ -91,7 +104,7 @@
  * @return 
  */
 scpi_result_t SCPI_SystemErrorCountQ(scpi_t * context) {
-    SCPI_ResultInt(context, SCPI_ErrorCount(context));
+    SCPI_ResultInt32(context, SCPI_ErrorCount(context));
 
     return SCPI_RES_OK;
 }
@@ -102,10 +115,10 @@
  * @return 
  */
 scpi_result_t SCPI_StatusQuestionableEventQ(scpi_t * context) {
-    // return value
-    SCPI_ResultInt(context, SCPI_RegGet(context, SCPI_REG_QUES));
+    /* return value */
+    SCPI_ResultInt32(context, SCPI_RegGet(context, SCPI_REG_QUES));
 
-    // clear register
+    /* clear register */
     SCPI_RegSet(context, SCPI_REG_QUES, 0);
 
     return SCPI_RES_OK;
@@ -117,8 +130,8 @@
  * @return 
  */
 scpi_result_t SCPI_StatusQuestionableEnableQ(scpi_t * context) {
-    // return value
-    SCPI_ResultInt(context, SCPI_RegGet(context, SCPI_REG_QUESE));
+    /* return value */
+    SCPI_ResultInt32(context, SCPI_RegGet(context, SCPI_REG_QUESE));
 
     return SCPI_RES_OK;
 }
@@ -130,8 +143,8 @@
  */
 scpi_result_t SCPI_StatusQuestionableEnable(scpi_t * context) {
     int32_t new_QUESE;
-    if (SCPI_ParamInt(context, &new_QUESE, TRUE)) {
-        SCPI_RegSet(context, SCPI_REG_QUESE, new_QUESE);
+    if (SCPI_ParamInt32(context, &new_QUESE, TRUE)) {
+        SCPI_RegSet(context, SCPI_REG_QUESE, (scpi_reg_val_t) new_QUESE);
     }
     return SCPI_RES_OK;
 }
@@ -142,7 +155,7 @@
  * @return 
  */
 scpi_result_t SCPI_StatusPreset(scpi_t * context) {
-    // clear STATUS:...
+    /* clear STATUS:... */
     SCPI_RegSet(context, SCPI_REG_QUES, 0);
     return SCPI_RES_OK;
 }

--
Gitblit v1.9.1