From 1f3aae322221514a8df3e06c0adf6844a597b025 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周一, 10 4月 2017 19:03:01 +0800 Subject: [PATCH] Merge pull request #85 from richardbarlow/master --- libscpi/inc/scpi/types.h | 43 ++++++++++++++++++++++++++----------------- 1 files changed, 26 insertions(+), 17 deletions(-) diff --git a/libscpi/inc/scpi/types.h b/libscpi/inc/scpi/types.h index 8dbcd64..334843a 100644 --- a/libscpi/inc/scpi/types.h +++ b/libscpi/inc/scpi/types.h @@ -113,7 +113,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; @@ -201,21 +206,23 @@ typedef scpi_result_t(*scpi_command_callback_t)(scpi_t *); - struct _scpi_error_info_heap_t { - int16_t wr; - int16_t rd; - int16_t count; - int16_t size; + 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; - const char * device_dependent_info; - }; - typedef struct _scpi_error_t scpi_error_t; - + }; + 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; @@ -326,7 +333,7 @@ union { double value; int32_t tag; - }; + } content; scpi_unit_t unit; int8_t base; }; @@ -365,7 +372,9 @@ int_fast16_t input_count; scpi_bool_t cmd_error; scpi_fifo_t error_queue; - scpi_error_info_heap_t error_info_heap; +#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; -- Gitblit v1.9.1