AMU Library 3.0
C/C++ library for communicating with AMU (Aerospace Measurement Unit) devices
Loading...
Searching...
No Matches
types.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "config.h"

Go to the source code of this file.

Data Structures

struct  scpi_buffer_t
struct  scpi_const_buffer_t
struct  scpi_token_t
struct  lex_state_t
struct  scpi_parser_state_t
struct  scpi_error_info_heap_t
struct  scpi_error_t
struct  scpi_fifo_t
struct  scpi_unit_def_t
struct  scpi_choice_def_t
struct  scpi_command_t
struct  scpi_param_list_t
struct  scpi_number_t
struct  scpi_data_parameter_t
struct  scpi_interface_t
struct  scpi_t

Macros

#define FALSE   0
#define TRUE   (!FALSE)
#define SCPI_CMD_LIST_END   {NULL, NULL, 0}
#define SCPI_UNITS_LIST_END   {NULL, SCPI_UNIT_NONE, 0}
#define SCPI_CHOICE_LIST_END   {NULL, -1}

Typedefs

typedef unsigned char bool
typedef bool scpi_bool_t
typedef enum _scpi_reg_name_t scpi_reg_name_t
typedef enum _scpi_ctrl_name_t scpi_ctrl_name_t
typedef uint16_t scpi_reg_val_t
typedef enum _scpi_result_t scpi_result_t
typedef size_t(* scpi_write_t) (scpi_t *context, const char *data, size_t len)
typedef scpi_result_t(* scpi_write_control_t) (scpi_t *context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val)
typedef int(* scpi_error_callback_t) (scpi_t *context, int_fast16_t error)
typedef enum _scpi_token_type_t scpi_token_type_t
typedef enum _message_termination_t message_termination_t
typedef scpi_result_t(* scpi_command_callback_t) (scpi_t *)
typedef enum _scpi_unit_t scpi_unit_t
typedef enum _scpi_special_number_t scpi_special_number_t
typedef scpi_token_t scpi_parameter_t
typedef enum _scpi_array_format_t scpi_array_format_t

Enumerations

enum  _scpi_reg_name_t {
  SCPI_REG_STB = 0 ,
  SCPI_REG_SRE ,
  SCPI_REG_ESR ,
  SCPI_REG_ESE ,
  SCPI_REG_OPER ,
  SCPI_REG_OPERE ,
  SCPI_REG_QUES ,
  SCPI_REG_QUESE ,
  SCPI_REG_COUNT
}
enum  _scpi_ctrl_name_t {
  SCPI_CTRL_SRQ = 1 ,
  SCPI_CTRL_GTL ,
  SCPI_CTRL_SDC ,
  SCPI_CTRL_PPC ,
  SCPI_CTRL_GET ,
  SCPI_CTRL_TCT ,
  SCPI_CTRL_LLO ,
  SCPI_CTRL_DCL ,
  SCPI_CTRL_PPU ,
  SCPI_CTRL_SPE ,
  SCPI_CTRL_SPD ,
  SCPI_CTRL_MLA ,
  SCPI_CTRL_UNL ,
  SCPI_CTRL_MTA ,
  SCPI_CTRL_UNT ,
  SCPI_CTRL_MSA
}
enum  _scpi_result_t {
  SCPI_RES_OK = 1 ,
  SCPI_RES_ERR = -1
}
enum  _scpi_token_type_t {
  SCPI_TOKEN_COMMA ,
  SCPI_TOKEN_SEMICOLON ,
  SCPI_TOKEN_COLON ,
  SCPI_TOKEN_SPECIFIC_CHARACTER ,
  SCPI_TOKEN_QUESTION ,
  SCPI_TOKEN_NL ,
  SCPI_TOKEN_HEXNUM ,
  SCPI_TOKEN_OCTNUM ,
  SCPI_TOKEN_BINNUM ,
  SCPI_TOKEN_PROGRAM_MNEMONIC ,
  SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA ,
  SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA_WITH_SUFFIX ,
  SCPI_TOKEN_SUFFIX_PROGRAM_DATA ,
  SCPI_TOKEN_ARBITRARY_BLOCK_PROGRAM_DATA ,
  SCPI_TOKEN_SINGLE_QUOTE_PROGRAM_DATA ,
  SCPI_TOKEN_DOUBLE_QUOTE_PROGRAM_DATA ,
  SCPI_TOKEN_PROGRAM_EXPRESSION ,
  SCPI_TOKEN_COMPOUND_PROGRAM_HEADER ,
  SCPI_TOKEN_INCOMPLETE_COMPOUND_PROGRAM_HEADER ,
  SCPI_TOKEN_COMMON_PROGRAM_HEADER ,
  SCPI_TOKEN_INCOMPLETE_COMMON_PROGRAM_HEADER ,
  SCPI_TOKEN_COMPOUND_QUERY_PROGRAM_HEADER ,
  SCPI_TOKEN_COMMON_QUERY_PROGRAM_HEADER ,
  SCPI_TOKEN_WS ,
  SCPI_TOKEN_ALL_PROGRAM_DATA ,
  SCPI_TOKEN_INVALID ,
  SCPI_TOKEN_UNKNOWN
}
enum  _message_termination_t {
  SCPI_MESSAGE_TERMINATION_NONE ,
  SCPI_MESSAGE_TERMINATION_NL ,
  SCPI_MESSAGE_TERMINATION_SEMICOLON
}
enum  _scpi_unit_t {
  SCPI_UNIT_NONE ,
  SCPI_UNIT_VOLT ,
  SCPI_UNIT_AMPER ,
  SCPI_UNIT_OHM ,
  SCPI_UNIT_HERTZ ,
  SCPI_UNIT_CELSIUS ,
  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_FAGRENHEIT ,
  SCPI_UNIT_KELVIN ,
  SCPI_UNIT_DAY ,
  SCPI_UNIT_YEAR ,
  SCPI_UNIT_STROKES ,
  SCPI_UNIT_POISE ,
  SCPI_UNIT_LITER
}
enum  _scpi_special_number_t {
  SCPI_NUM_NUMBER ,
  SCPI_NUM_MIN ,
  SCPI_NUM_MAX ,
  SCPI_NUM_DEF ,
  SCPI_NUM_UP ,
  SCPI_NUM_DOWN ,
  SCPI_NUM_NAN ,
  SCPI_NUM_INF ,
  SCPI_NUM_NINF ,
  SCPI_NUM_AUTO
}
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
}

Macro Definition Documentation

◆ FALSE

#define FALSE   0

Definition at line 60 of file types.h.

◆ SCPI_CHOICE_LIST_END

#define SCPI_CHOICE_LIST_END   {NULL, -1}

Definition at line 320 of file types.h.

◆ SCPI_CMD_LIST_END

#define SCPI_CMD_LIST_END   {NULL, NULL, 0}

Definition at line 117 of file types.h.

◆ SCPI_UNITS_LIST_END

#define SCPI_UNITS_LIST_END   {NULL, SCPI_UNIT_NONE, 0}

Definition at line 299 of file types.h.

◆ TRUE

#define TRUE   (!FALSE)

Definition at line 63 of file types.h.

Typedef Documentation

◆ bool

typedef unsigned char bool

Definition at line 56 of file types.h.

◆ message_termination_t

Definition at line 197 of file types.h.

◆ scpi_array_format_t

Definition at line 407 of file types.h.

◆ scpi_bool_t

typedef bool scpi_bool_t

Definition at line 67 of file types.h.

◆ scpi_command_callback_t

typedef scpi_result_t(* scpi_command_callback_t) (scpi_t *)

Definition at line 207 of file types.h.

◆ scpi_ctrl_name_t

Definition at line 104 of file types.h.

◆ scpi_error_callback_t

typedef int(* scpi_error_callback_t) (scpi_t *context, int_fast16_t error)

Definition at line 143 of file types.h.

◆ scpi_parameter_t

typedef scpi_token_t scpi_parameter_t

Definition at line 362 of file types.h.

◆ scpi_reg_name_t

Definition at line 84 of file types.h.

◆ scpi_reg_val_t

typedef uint16_t scpi_reg_val_t

Definition at line 106 of file types.h.

◆ scpi_result_t

Definition at line 113 of file types.h.

◆ scpi_special_number_t

Definition at line 314 of file types.h.

◆ scpi_token_type_t

Definition at line 175 of file types.h.

◆ scpi_unit_t

typedef enum _scpi_unit_t scpi_unit_t

Definition at line 292 of file types.h.

◆ scpi_write_control_t

typedef scpi_result_t(* scpi_write_control_t) (scpi_t *context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val)

Definition at line 142 of file types.h.

◆ scpi_write_t

typedef size_t(* scpi_write_t) (scpi_t *context, const char *data, size_t len)

Definition at line 141 of file types.h.

Enumeration Type Documentation

◆ _message_termination_t

Enumerator
SCPI_MESSAGE_TERMINATION_NONE 
SCPI_MESSAGE_TERMINATION_NL 
SCPI_MESSAGE_TERMINATION_SEMICOLON 

Definition at line 192 of file types.h.

◆ _scpi_array_format_t

Enumerator
SCPI_FORMAT_ASCII 
SCPI_FORMAT_NORMAL 
SCPI_FORMAT_SWAPPED 
SCPI_FORMAT_BIGENDIAN SCPI_FORMAT_NORMAL 
SCPI_FORMAT_LITTLEENDIAN SCPI_FORMAT_SWAPPED 

Definition at line 400 of file types.h.

◆ _scpi_ctrl_name_t

Enumerator
SCPI_CTRL_SRQ 
SCPI_CTRL_GTL  
SCPI_CTRL_SDC  
SCPI_CTRL_PPC  
SCPI_CTRL_GET  
SCPI_CTRL_TCT  
SCPI_CTRL_LLO  
SCPI_CTRL_DCL  
SCPI_CTRL_PPU  
SCPI_CTRL_SPE  
SCPI_CTRL_SPD  
SCPI_CTRL_MLA  
SCPI_CTRL_UNL  
SCPI_CTRL_MTA  
SCPI_CTRL_UNT  
SCPI_CTRL_MSA  

Definition at line 86 of file types.h.

◆ _scpi_reg_name_t

Enumerator
SCPI_REG_STB 
SCPI_REG_SRE  
SCPI_REG_ESR  
SCPI_REG_ESE  
SCPI_REG_OPER  
SCPI_REG_OPERE  
SCPI_REG_QUES  
SCPI_REG_QUESE  
SCPI_REG_COUNT  

Definition at line 71 of file types.h.

◆ _scpi_result_t

Enumerator
SCPI_RES_OK 
SCPI_RES_ERR -1 

Definition at line 109 of file types.h.

◆ _scpi_special_number_t

Enumerator
SCPI_NUM_NUMBER 
SCPI_NUM_MIN 
SCPI_NUM_MAX 
SCPI_NUM_DEF 
SCPI_NUM_UP 
SCPI_NUM_DOWN 
SCPI_NUM_NAN 
SCPI_NUM_INF 
SCPI_NUM_NINF 
SCPI_NUM_AUTO 

Definition at line 302 of file types.h.

◆ _scpi_token_type_t

Enumerator
SCPI_TOKEN_COMMA 
SCPI_TOKEN_SEMICOLON 
SCPI_TOKEN_COLON 
SCPI_TOKEN_SPECIFIC_CHARACTER 
SCPI_TOKEN_QUESTION 
SCPI_TOKEN_NL 
SCPI_TOKEN_HEXNUM 
SCPI_TOKEN_OCTNUM 
SCPI_TOKEN_BINNUM 
SCPI_TOKEN_PROGRAM_MNEMONIC 
SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA 
SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA_WITH_SUFFIX 
SCPI_TOKEN_SUFFIX_PROGRAM_DATA 
SCPI_TOKEN_ARBITRARY_BLOCK_PROGRAM_DATA 
SCPI_TOKEN_SINGLE_QUOTE_PROGRAM_DATA 
SCPI_TOKEN_DOUBLE_QUOTE_PROGRAM_DATA 
SCPI_TOKEN_PROGRAM_EXPRESSION 
SCPI_TOKEN_COMPOUND_PROGRAM_HEADER 
SCPI_TOKEN_INCOMPLETE_COMPOUND_PROGRAM_HEADER 
SCPI_TOKEN_COMMON_PROGRAM_HEADER 
SCPI_TOKEN_INCOMPLETE_COMMON_PROGRAM_HEADER 
SCPI_TOKEN_COMPOUND_QUERY_PROGRAM_HEADER 
SCPI_TOKEN_COMMON_QUERY_PROGRAM_HEADER 
SCPI_TOKEN_WS 
SCPI_TOKEN_ALL_PROGRAM_DATA 
SCPI_TOKEN_INVALID 
SCPI_TOKEN_UNKNOWN 

Definition at line 146 of file types.h.

◆ _scpi_unit_t

Enumerator
SCPI_UNIT_NONE 
SCPI_UNIT_VOLT 
SCPI_UNIT_AMPER 
SCPI_UNIT_OHM 
SCPI_UNIT_HERTZ 
SCPI_UNIT_CELSIUS 
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_FAGRENHEIT 
SCPI_UNIT_KELVIN 
SCPI_UNIT_DAY 
SCPI_UNIT_YEAR 
SCPI_UNIT_STROKES 
SCPI_UNIT_POISE 
SCPI_UNIT_LITER 

Definition at line 236 of file types.h.