From 9c270bbc44cc90ebfd578987c5964d6ac5368395 Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@mobatime.cz>
Date: 周二, 15 8月 2017 00:33:13 +0800
Subject: [PATCH] Fix formatting

---
 libscpi/inc/scpi/types.h |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 103 insertions(+), 11 deletions(-)

diff --git a/libscpi/inc/scpi/types.h b/libscpi/inc/scpi/types.h
index bded006..3584936 100644
--- a/libscpi/inc/scpi/types.h
+++ b/libscpi/inc/scpi/types.h
@@ -52,14 +52,14 @@
 #endif
 
 #if !HAVE_STDBOOL
-   typedef unsigned char bool;
+    typedef unsigned char bool;
 #endif
 
 #ifndef FALSE
-    #define FALSE 0
+#define FALSE 0
 #endif
 #ifndef TRUE
-    #define TRUE (!FALSE)
+#define TRUE (!FALSE)
 #endif
 
     /* basic data types */
@@ -74,6 +74,7 @@
         SCPI_REG_ESE, /* Event Status Enable Register */
         SCPI_REG_OPER, /* OPERation Status Register */
         SCPI_REG_OPERE, /* OPERation Status Enable Register */
+        SCPI_REG_OPERC, /* OPERation Status Condition Register */
         SCPI_REG_QUES, /* QUEStionable status register */
         SCPI_REG_QUESE, /* QUEStionable status Enable Register */
 
@@ -113,7 +114,12 @@
 
     typedef struct _scpi_command_t scpi_command_t;
 
-#define SCPI_CMD_LIST_END       {NULL, NULL, 0}
+#if USE_COMMAND_TAGS
+	#define SCPI_CMD_LIST_END       {NULL, NULL, 0}
+#else
+	#define SCPI_CMD_LIST_END       {NULL, NULL}
+#endif
+
 
     /* scpi interface */
     typedef struct _scpi_t scpi_t;
@@ -142,6 +148,7 @@
         SCPI_TOKEN_COMMA,
         SCPI_TOKEN_SEMICOLON,
         SCPI_TOKEN_COLON,
+        SCPI_TOKEN_SPECIFIC_CHARACTER,
         SCPI_TOKEN_QUESTION,
         SCPI_TOKEN_NL,
         SCPI_TOKEN_HEXNUM,
@@ -200,8 +207,31 @@
 
     typedef scpi_result_t(*scpi_command_callback_t)(scpi_t *);
 
-    /* scpi error queue */
-    typedef void * scpi_error_queue_t;
+    struct _scpi_error_info_heap_t {
+        size_t wr;
+        /* size_t rd; */
+        size_t count;
+        size_t size;
+        char * data;
+    };
+    typedef struct _scpi_error_info_heap_t scpi_error_info_heap_t;
+
+    struct _scpi_error_t {
+        int16_t error_code;
+#if USE_DEVICE_DEPENDENT_ERROR_INFORMATION
+        char * device_dependent_info;
+#endif
+    };
+    typedef struct _scpi_error_t scpi_error_t;
+
+    struct _scpi_fifo_t {
+        int16_t wr;
+        int16_t rd;
+        int16_t count;
+        int16_t size;
+        scpi_error_t * data;
+    };
+    typedef struct _scpi_fifo_t scpi_fifo_t;
 
     /* scpi units */
     enum _scpi_unit_t {
@@ -211,8 +241,54 @@
         SCPI_UNIT_OHM,
         SCPI_UNIT_HERTZ,
         SCPI_UNIT_CELSIUS,
-        SCPI_UNIT_SECONDS,
-        SCPI_UNIT_DISTANCE
+        SCPI_UNIT_SECOND,
+        SCPI_UNIT_METER,
+        SCPI_UNIT_GRAY,
+        SCPI_UNIT_BECQUEREL,
+        SCPI_UNIT_MOLE,
+        SCPI_UNIT_DEGREE,
+        SCPI_UNIT_GRADE,
+        SCPI_UNIT_RADIAN,
+        SCPI_UNIT_REVOLUTION,
+        SCPI_UNIT_STERADIAN,
+        SCPI_UNIT_SIEVERT,
+        SCPI_UNIT_FARAD,
+        SCPI_UNIT_COULOMB,
+        SCPI_UNIT_SIEMENS,
+        SCPI_UNIT_ELECTRONVOLT,
+        SCPI_UNIT_JOULE,
+        SCPI_UNIT_NEWTON,
+        SCPI_UNIT_LUX,
+        SCPI_UNIT_HENRY,
+        SCPI_UNIT_ASTRONOMIC_UNIT,
+        SCPI_UNIT_INCH,
+        SCPI_UNIT_FOOT,
+        SCPI_UNIT_PARSEC,
+        SCPI_UNIT_MILE,
+        SCPI_UNIT_NAUTICAL_MILE,
+        SCPI_UNIT_LUMEN,
+        SCPI_UNIT_CANDELA,
+        SCPI_UNIT_WEBER,
+        SCPI_UNIT_TESLA,
+        SCPI_UNIT_ATOMIC_MASS,
+        SCPI_UNIT_KILOGRAM,
+        SCPI_UNIT_WATT,
+        SCPI_UNIT_DBM,
+        SCPI_UNIT_ATMOSPHERE,
+        SCPI_UNIT_INCH_OF_MERCURY,
+        SCPI_UNIT_MM_OF_MERCURY,
+        SCPI_UNIT_PASCAL,
+        SCPI_UNIT_TORT,
+        SCPI_UNIT_BAR,
+        SCPI_UNIT_DECIBEL,
+        SCPI_UNIT_UNITLESS,
+        SCPI_UNIT_FAHRENHEIT,
+        SCPI_UNIT_KELVIN,
+        SCPI_UNIT_DAY,
+        SCPI_UNIT_YEAR,
+        SCPI_UNIT_STROKES,
+        SCPI_UNIT_POISE,
+        SCPI_UNIT_LITER
     };
     typedef enum _scpi_unit_t scpi_unit_t;
 
@@ -254,10 +330,11 @@
 
     struct _scpi_number_parameter_t {
         scpi_bool_t special;
+
         union {
             double value;
             int32_t tag;
-        };
+        } content;
         scpi_unit_t unit;
         int8_t base;
     };
@@ -274,7 +351,9 @@
     struct _scpi_command_t {
         const char * pattern;
         scpi_command_callback_t callback;
+#if USE_COMMAND_TAGS
         int32_t tag;
+#endif /* USE_COMMAND_TAGS */
     };
 
     struct _scpi_interface_t {
@@ -293,14 +372,27 @@
         int_fast16_t output_count;
         int_fast16_t input_count;
         scpi_bool_t cmd_error;
-        scpi_error_queue_t error_queue;
-        scpi_reg_val_t * registers;
+        scpi_fifo_t error_queue;
+#if USE_DEVICE_DEPENDENT_ERROR_INFORMATION && !USE_MEMORY_ALLOCATION_FREE
+        scpi_error_info_heap_t error_info_heap;
+#endif
+        scpi_reg_val_t registers[SCPI_REG_COUNT];
         const scpi_unit_def_t * units;
         void * user_context;
         scpi_parser_state_t parser_state;
         const char * idn[4];
+        size_t arbitrary_reminding;
     };
 
+    enum _scpi_array_format_t {
+        SCPI_FORMAT_ASCII = 0,
+        SCPI_FORMAT_NORMAL = 1,
+        SCPI_FORMAT_SWAPPED = 2,
+        SCPI_FORMAT_BIGENDIAN = SCPI_FORMAT_NORMAL,
+        SCPI_FORMAT_LITTLEENDIAN = SCPI_FORMAT_SWAPPED,
+    };
+    typedef enum _scpi_array_format_t scpi_array_format_t;
+
 #ifdef  __cplusplus
 }
 #endif

--
Gitblit v1.9.1