| | |
| | | |
| | | #include <ctype.h> |
| | | #include <string.h> |
| | | #include "scpi/externinterface.h" |
| | | |
| | | #include "scpi/config.h" |
| | | #include "scpi/parser.h" |
| | |
| | | #include "scpi/error.h" |
| | | #include "scpi/constants.h" |
| | | #include "scpi/utils.h" |
| | | |
| | | #include "scpi/externinterface.h" |
| | | /** |
| | | * Write data to SCPI output |
| | | * @param context |
| | |
| | | * @param context |
| | | * @result TRUE if context->paramlist is filled with correct values |
| | | */ |
| | | static scpi_bool_t findCommandHeader(scpi_t * context, const char * header, int len) { |
| | | int32_t i; |
| | | const scpi_command_t * cmd = NULL; |
| | | for (i = 0; i<context->cmdlistSize; i++) { |
| | | cmd = &context->cmdlist[i]; |
| | | bool result =test_match(cmd->pattern, header); |
| | | if(result) |
| | | scpi_bool_t findCommandHeader(scpi_t * context, const char * header, int len) |
| | | { |
| | | |
| | | for(int i=0;i<get_pattern_count();i++) |
| | | { |
| | | if( match_segments_global(header,i) ) |
| | | { |
| | | context->param_list.cmd = &context->cmdlist[i]; |
| | | context->param_list.cmd = &context->cmdlist[i]; |
| | | return TRUE; |
| | | } |
| | | // if (matchCommand(cmd->pattern, header, len, NULL, 0, 0)) { |
| | | // context->param_list.cmd = cmd; |
| | | // return TRUE; |
| | | // } |
| | | } |
| | | context->SCPIerror = RETURN_NotFind; |
| | | return FALSE; |
| | |
| | | */ |
| | | scpi_bool_t SCPI_Input(scpi_t * context, const char * data, int len) |
| | | { |
| | | scpi_bool_t result = FALSE; |
| | | scpi_bool_t result = FALSE; |
| | | size_t totcmdlen = 0; |
| | | int cmdlen = 0; |
| | | //当长度为0时 解析当前的数据 并且清空context的buff标记位 |