|
AMU Library 3.0
C/C++ library for communicating with AMU (Aerospace Measurement Unit) devices
|
#include <ctype.h>#include <string.h>#include "config.h"#include "parser.h"#include "parser_private.h"#include "lexer_private.h"#include "expression.h"#include "error.h"#include "constants.h"#include "utils.h"Go to the source code of this file.
Macros | |
| #define | RESULT_ARRAY(func) |
| #define | PARAM_ARRAY_TEMPLATE(func) |
Functions | |
| static size_t | writeData (scpi_t *context, const char *data, size_t len) |
| static int | flushData (scpi_t *context) |
| static size_t | writeDelimiter (scpi_t *context) |
| static size_t | writeNewLine (scpi_t *context) |
| static size_t | writeSemicolon (scpi_t *context) |
| static scpi_bool_t | processCommand (scpi_t *context) |
| static scpi_bool_t | findCommandHeader (scpi_t *context, const char *header, int len) |
| scpi_bool_t | SCPI_Parse (scpi_t *context, char *data, int len) |
| void | SCPI_Init (scpi_t *context, const scpi_command_t *def_cmds, scpi_interface_t *interface, const scpi_unit_def_t *units, const char *idn1, const char *idn2, const char *idn3, const char *idn4, char *input_buffer, size_t input_buffer_length, scpi_error_t *error_queue_data, int16_t error_queue_size) |
| scpi_bool_t | SCPI_Input (scpi_t *context, const char *data, int len) |
| size_t | SCPI_ResultCharacters (scpi_t *context, const char *data, size_t len) |
| static const char * | getBasePrefix (int8_t base) |
| static size_t | resultUInt32BaseSign (scpi_t *context, uint32_t val, int8_t base, scpi_bool_t sign) |
| static size_t | resultUInt64BaseSign (scpi_t *context, uint64_t val, int8_t base, scpi_bool_t sign) |
| size_t | SCPI_ResultInt32 (scpi_t *context, int32_t val) |
| size_t | SCPI_ResultUInt32Base (scpi_t *context, uint32_t val, int8_t base) |
| size_t | SCPI_ResultInt64 (scpi_t *context, int64_t val) |
| size_t | SCPI_ResultUInt64Base (scpi_t *context, uint64_t val, int8_t base) |
| size_t | SCPI_ResultFloat (scpi_t *context, float val) |
| size_t | SCPI_ResultDouble (scpi_t *context, double val) |
| size_t | SCPI_ResultText (scpi_t *context, const char *data) |
| size_t | SCPI_ResultError (scpi_t *context, scpi_error_t *error) |
| size_t | SCPI_ResultArbitraryBlockHeader (scpi_t *context, size_t len) |
| size_t | SCPI_ResultArbitraryBlockData (scpi_t *context, const void *data, size_t len) |
| size_t | SCPI_ResultArbitraryBlock (scpi_t *context, const void *data, size_t len) |
| size_t | SCPI_ResultBool (scpi_t *context, scpi_bool_t val) |
| static void | invalidateToken (scpi_token_t *token, char *ptr) |
| scpi_bool_t | SCPI_Parameter (scpi_t *context, scpi_parameter_t *parameter, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamIsNumber (scpi_parameter_t *parameter, scpi_bool_t suffixAllowed) |
| static scpi_bool_t | ParamSignToUInt32 (scpi_t *context, scpi_parameter_t *parameter, uint32_t *value, scpi_bool_t sign) |
| static scpi_bool_t | ParamSignToUInt64 (scpi_t *context, scpi_parameter_t *parameter, uint64_t *value, scpi_bool_t sign) |
| scpi_bool_t | SCPI_ParamToInt32 (scpi_t *context, scpi_parameter_t *parameter, int32_t *value) |
| scpi_bool_t | SCPI_ParamToUInt32 (scpi_t *context, scpi_parameter_t *parameter, uint32_t *value) |
| scpi_bool_t | SCPI_ParamToInt64 (scpi_t *context, scpi_parameter_t *parameter, int64_t *value) |
| scpi_bool_t | SCPI_ParamToUInt64 (scpi_t *context, scpi_parameter_t *parameter, uint64_t *value) |
| scpi_bool_t | SCPI_ParamToFloat (scpi_t *context, scpi_parameter_t *parameter, float *value) |
| scpi_bool_t | SCPI_ParamToDouble (scpi_t *context, scpi_parameter_t *parameter, double *value) |
| scpi_bool_t | SCPI_ParamFloat (scpi_t *context, void *value, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamDouble (scpi_t *context, double *value, scpi_bool_t mandatory) |
| static scpi_bool_t | ParamSignUInt32 (scpi_t *context, uint32_t *value, scpi_bool_t mandatory, scpi_bool_t sign) |
| static scpi_bool_t | ParamSignUInt64 (scpi_t *context, uint64_t *value, scpi_bool_t mandatory, scpi_bool_t sign) |
| scpi_bool_t | SCPI_ParamInt32 (scpi_t *context, int32_t *value, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamUInt32 (scpi_t *context, void *value, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamInt64 (scpi_t *context, int64_t *value, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamUInt64 (scpi_t *context, uint64_t *value, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamCharacters (scpi_t *context, const char **value, size_t *len, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamArbitraryBlock (scpi_t *context, const char **value, size_t *len, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamCopyText (scpi_t *context, char *buffer, size_t buffer_len, size_t *copy_len, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamToChoice (scpi_t *context, scpi_parameter_t *parameter, const scpi_choice_def_t *options, int32_t *value) |
| scpi_bool_t | SCPI_ChoiceToName (const scpi_choice_def_t *options, int32_t tag, const char **text) |
| scpi_bool_t | SCPI_ParamBool (scpi_t *context, scpi_bool_t *value, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamChoice (scpi_t *context, const scpi_choice_def_t *options, int32_t *value, scpi_bool_t mandatory) |
| int | scpiParser_parseProgramData (lex_state_t *state, scpi_token_t *token) |
| int | scpiParser_parseAllProgramData (lex_state_t *state, scpi_token_t *token, int *numberOfParameters) |
| int | scpiParser_detectProgramMessageUnit (scpi_parser_state_t *state, char *buffer, int len) |
| scpi_bool_t | SCPI_IsCmd (scpi_t *context, const char *cmd) |
| uint16_t | SCPI_CmdTag (scpi_t *context) |
| scpi_bool_t | SCPI_Match (const char *pattern, const char *value, size_t len, bool *query) |
| scpi_bool_t | SCPI_CommandNumbers (scpi_t *context, int32_t *numbers, size_t len, int32_t default_value) |
| scpi_bool_t | SCPI_ParamIsValid (scpi_parameter_t *parameter) |
| scpi_bool_t | SCPI_ParamErrorOccurred (scpi_t *context) |
| static size_t | produceResultArrayBinary (scpi_t *context, const void *array, size_t count, size_t item_size, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayInt8 (scpi_t *context, const int8_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayUInt8 (scpi_t *context, const uint8_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayInt16 (scpi_t *context, const int16_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayUInt16 (scpi_t *context, const uint16_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayInt32 (scpi_t *context, const int32_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayUInt32 (scpi_t *context, const uint32_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayInt64 (scpi_t *context, const int64_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayUInt64 (scpi_t *context, const uint64_t *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayFloat (scpi_t *context, const float *array, size_t count, scpi_array_format_t format) |
| size_t | SCPI_ResultArrayDouble (scpi_t *context, const double *array, size_t count, scpi_array_format_t format) |
| scpi_bool_t | SCPI_ParamArrayInt32 (scpi_t *context, int32_t *data, size_t i_count, size_t *o_count, scpi_array_format_t format, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamArrayUInt32 (scpi_t *context, uint32_t *data, size_t i_count, size_t *o_count, scpi_array_format_t format, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamArrayInt64 (scpi_t *context, int64_t *data, size_t i_count, size_t *o_count, scpi_array_format_t format, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamArrayUInt64 (scpi_t *context, uint64_t *data, size_t i_count, size_t *o_count, scpi_array_format_t format, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamArrayFloat (scpi_t *context, float *data, size_t i_count, size_t *o_count, scpi_array_format_t format, scpi_bool_t mandatory) |
| scpi_bool_t | SCPI_ParamArrayDouble (scpi_t *context, double *data, size_t i_count, size_t *o_count, scpi_array_format_t format, scpi_bool_t mandatory) |
| #define PARAM_ARRAY_TEMPLATE | ( | func | ) |
| #define RESULT_ARRAY | ( | func | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| scpi_bool_t SCPI_ChoiceToName | ( | const scpi_choice_def_t * | options, |
| int32_t | tag, | ||
| const char ** | text ) |
| uint16_t SCPI_CmdTag | ( | scpi_t * | context | ) |
| scpi_bool_t SCPI_CommandNumbers | ( | scpi_t * | context, |
| int32_t * | numbers, | ||
| size_t | len, | ||
| int32_t | default_value ) |
| void SCPI_Init | ( | scpi_t * | context, |
| const scpi_command_t * | def_cmds, | ||
| scpi_interface_t * | interface, | ||
| const scpi_unit_def_t * | units, | ||
| const char * | idn1, | ||
| const char * | idn2, | ||
| const char * | idn3, | ||
| const char * | idn4, | ||
| char * | input_buffer, | ||
| size_t | input_buffer_length, | ||
| scpi_error_t * | error_queue_data, | ||
| int16_t | error_queue_size ) |
| scpi_bool_t SCPI_Input | ( | scpi_t * | context, |
| const char * | data, | ||
| int | len ) |
| scpi_bool_t SCPI_IsCmd | ( | scpi_t * | context, |
| const char * | cmd ) |
| scpi_bool_t SCPI_Match | ( | const char * | pattern, |
| const char * | value, | ||
| size_t | len, | ||
| bool * | query ) |
| scpi_bool_t SCPI_ParamArbitraryBlock | ( | scpi_t * | context, |
| const char ** | value, | ||
| size_t * | len, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamArrayDouble | ( | scpi_t * | context, |
| double * | data, | ||
| size_t | i_count, | ||
| size_t * | o_count, | ||
| scpi_array_format_t | format, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamArrayFloat | ( | scpi_t * | context, |
| float * | data, | ||
| size_t | i_count, | ||
| size_t * | o_count, | ||
| scpi_array_format_t | format, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamArrayInt32 | ( | scpi_t * | context, |
| int32_t * | data, | ||
| size_t | i_count, | ||
| size_t * | o_count, | ||
| scpi_array_format_t | format, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamArrayInt64 | ( | scpi_t * | context, |
| int64_t * | data, | ||
| size_t | i_count, | ||
| size_t * | o_count, | ||
| scpi_array_format_t | format, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamArrayUInt32 | ( | scpi_t * | context, |
| uint32_t * | data, | ||
| size_t | i_count, | ||
| size_t * | o_count, | ||
| scpi_array_format_t | format, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamArrayUInt64 | ( | scpi_t * | context, |
| uint64_t * | data, | ||
| size_t | i_count, | ||
| size_t * | o_count, | ||
| scpi_array_format_t | format, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamBool | ( | scpi_t * | context, |
| scpi_bool_t * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamCharacters | ( | scpi_t * | context, |
| const char ** | value, | ||
| size_t * | len, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamChoice | ( | scpi_t * | context, |
| const scpi_choice_def_t * | options, | ||
| int32_t * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamCopyText | ( | scpi_t * | context, |
| char * | buffer, | ||
| size_t | buffer_len, | ||
| size_t * | copy_len, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamDouble | ( | scpi_t * | context, |
| double * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamErrorOccurred | ( | scpi_t * | context | ) |
| scpi_bool_t SCPI_Parameter | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamFloat | ( | scpi_t * | context, |
| void * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamInt32 | ( | scpi_t * | context, |
| int32_t * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamInt64 | ( | scpi_t * | context, |
| int64_t * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamIsNumber | ( | scpi_parameter_t * | parameter, |
| scpi_bool_t | suffixAllowed ) |
| scpi_bool_t SCPI_ParamIsValid | ( | scpi_parameter_t * | parameter | ) |
If SCPI_Parameter() returns FALSE, this function can detect, if the parameter is just missing (TRUE) or if there was an error during processing of the command (FALSE)
| parameter |
| scpi_bool_t SCPI_ParamToChoice | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| const scpi_choice_def_t * | options, | ||
| int32_t * | value ) |
| scpi_bool_t SCPI_ParamToDouble | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| double * | value ) |
| scpi_bool_t SCPI_ParamToFloat | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| float * | value ) |
| scpi_bool_t SCPI_ParamToInt32 | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| int32_t * | value ) |
| scpi_bool_t SCPI_ParamToInt64 | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| int64_t * | value ) |
| scpi_bool_t SCPI_ParamToUInt32 | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| uint32_t * | value ) |
| scpi_bool_t SCPI_ParamToUInt64 | ( | scpi_t * | context, |
| scpi_parameter_t * | parameter, | ||
| uint64_t * | value ) |
| scpi_bool_t SCPI_ParamUInt32 | ( | scpi_t * | context, |
| void * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_ParamUInt64 | ( | scpi_t * | context, |
| uint64_t * | value, | ||
| scpi_bool_t | mandatory ) |
| scpi_bool_t SCPI_Parse | ( | scpi_t * | context, |
| char * | data, | ||
| int | len ) |
| size_t SCPI_ResultArbitraryBlock | ( | scpi_t * | context, |
| const void * | data, | ||
| size_t | len ) |
| size_t SCPI_ResultArbitraryBlockData | ( | scpi_t * | context, |
| const void * | data, | ||
| size_t | len ) |
| size_t SCPI_ResultArbitraryBlockHeader | ( | scpi_t * | context, |
| size_t | len ) |
| size_t SCPI_ResultArrayDouble | ( | scpi_t * | context, |
| const double * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayFloat | ( | scpi_t * | context, |
| const float * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayInt16 | ( | scpi_t * | context, |
| const int16_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayInt32 | ( | scpi_t * | context, |
| const int32_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayInt64 | ( | scpi_t * | context, |
| const int64_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayInt8 | ( | scpi_t * | context, |
| const int8_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayUInt16 | ( | scpi_t * | context, |
| const uint16_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayUInt32 | ( | scpi_t * | context, |
| const uint32_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayUInt64 | ( | scpi_t * | context, |
| const uint64_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultArrayUInt8 | ( | scpi_t * | context, |
| const uint8_t * | array, | ||
| size_t | count, | ||
| scpi_array_format_t | format ) |
| size_t SCPI_ResultBool | ( | scpi_t * | context, |
| scpi_bool_t | val ) |
| size_t SCPI_ResultCharacters | ( | scpi_t * | context, |
| const char * | data, | ||
| size_t | len ) |
| size_t SCPI_ResultDouble | ( | scpi_t * | context, |
| double | val ) |
| size_t SCPI_ResultError | ( | scpi_t * | context, |
| scpi_error_t * | error ) |
SCPI-99:21.8 Device-dependent error information. Write error information with the following syntax: <Error/event_number>,"<Error/event_description>[;<Device-dependent_info>]" The maximum string length of <Error/event_description> plus <Device-dependent_info> is SCPI_STD_ERROR_DESC_MAX_STRING_LENGTH (255) characters.
| context | |
| error |
| size_t SCPI_ResultFloat | ( | scpi_t * | context, |
| float | val ) |
| size_t SCPI_ResultInt32 | ( | scpi_t * | context, |
| int32_t | val ) |
| size_t SCPI_ResultInt64 | ( | scpi_t * | context, |
| int64_t | val ) |
| size_t SCPI_ResultText | ( | scpi_t * | context, |
| const char * | data ) |
| size_t SCPI_ResultUInt32Base | ( | scpi_t * | context, |
| uint32_t | val, | ||
| int8_t | base ) |
| size_t SCPI_ResultUInt64Base | ( | scpi_t * | context, |
| uint64_t | val, | ||
| int8_t | base ) |
| int scpiParser_detectProgramMessageUnit | ( | scpi_parser_state_t * | state, |
| char * | buffer, | ||
| int | len ) |
| int scpiParser_parseAllProgramData | ( | lex_state_t * | state, |
| scpi_token_t * | token, | ||
| int * | numberOfParameters ) |
| int scpiParser_parseProgramData | ( | lex_state_t * | state, |
| scpi_token_t * | token ) |
|
static |
|
static |
|
static |