From 884a288cc0f15f5ab9ea36077b08ff002ff7eac2 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周二, 27 11月 2012 23:34:38 +0800 Subject: [PATCH] Include cleanup, better error handling --- scpi/scpi.h | 91 ++++----------------------------------------- 1 files changed, 8 insertions(+), 83 deletions(-) diff --git a/scpi/scpi.h b/scpi/scpi.h index f981665..cc9bd79 100644 --- a/scpi/scpi.h +++ b/scpi/scpi.h @@ -29,7 +29,7 @@ * @file scpi.h * @date Thu Nov 15 10:58:45 UTC 2012 * - * @brief SCPI parser implementation + * @brief SCPI library include file * * */ @@ -37,90 +37,15 @@ #ifndef SCPI_H #define SCPI_H -#include <stddef.h> -#include <stdint.h> -#include <stdbool.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#define FALSE false -#define TRUE true - typedef bool bool_t; - //typedef enum { FALSE = 0, TRUE } bool_t; - - typedef struct _scpi_context_t scpi_context_t; - typedef struct _scpi_param_list_t scpi_param_list_t; - typedef struct _scpi_command_t scpi_command_t; - typedef struct _scpi_buffer_t scpi_buffer_t; - typedef struct _scpi_interface_t scpi_interface_t; - typedef int (*scpi_command_callback_t)(scpi_context_t *); - typedef size_t(*scpi_write_t)(scpi_context_t * context, const char * data, size_t len); - typedef int (*scpi_error_callback_t)(scpi_context_t * context, int_fast16_t error); - - struct _scpi_param_list_t { - const scpi_command_t * cmd; - const char * parameters; - size_t length; - }; - - struct _scpi_command_t { - const char * pattern; - scpi_command_callback_t callback; - }; - - struct _scpi_buffer_t { - size_t length; - size_t position; - char * data; - }; - - struct _scpi_interface_t { - scpi_error_callback_t error; - scpi_write_t write; - scpi_command_callback_t reset; - scpi_command_callback_t test; - }; - - struct _scpi_context_t { - const scpi_command_t * cmdlist; - scpi_buffer_t buffer; - scpi_param_list_t paramlist; - scpi_interface_t * interface; - int_fast16_t output_count; - int_fast16_t input_count; - }; +#include "scpi_parser.h" +#include "scpi_ieee488.h" +#include "scpi_error.h" +#include "scpi_constants.h" +#include "scpi_minimal.h" +#include "scpi_utils.h" +#include "scpi_units.h" - -#define SCPI_CMD_LIST_END {.pattern = NULL, .callback = NULL, } - - - void SCPI_Init(scpi_context_t * context, scpi_command_t * command_list, scpi_buffer_t * buffer, scpi_interface_t * interface); - - int SCPI_Input(scpi_context_t * context, const char * data, size_t len); - int SCPI_Parse(scpi_context_t * context, const char * data, size_t len); - - - size_t SCPI_ResultString(scpi_context_t * context, const char * data); - size_t SCPI_ResultInt(scpi_context_t * context, int32_t val); - size_t SCPI_ResultDouble(scpi_context_t * context, double val); - size_t SCPI_ResultText(scpi_context_t * context, const char * data); - - bool_t SCPI_ParamInt(scpi_context_t * context, int32_t * value, bool_t mandatory); - bool_t SCPI_ParamDouble(scpi_context_t * context, double * value, bool_t mandatory); - bool_t SCPI_ParamString(scpi_context_t * context, char ** value, size_t * len, bool_t mandatory); - - bool_t SCPI_DebugCommand(scpi_context_t * context); - - //#define SCPI_DEBUG_COMMAND(a) scpi_debug_command(a) -#define SCPI_DEBUG_COMMAND(a) - - -#ifdef __cplusplus -} -#endif #endif /* SCPI_H */ -- Gitblit v1.9.1