| | |
| | | */ |
| | | static scpi_bool_t findCommandHeader(scpi_t * context, const char * header, int len) { |
| | | int32_t i; |
| | | const scpi_command_t * cmd; |
| | | |
| | | for (i = 0; context->cmdlist[i].pattern != NULL; i++) { |
| | | const scpi_command_t * cmd = NULL; |
| | | for (i = 0; i<context->cmdlistSize; i++) { |
| | | cmd = &context->cmdlist[i]; |
| | | if (matchCommand(cmd->pattern, header, len, NULL, 0, 0)) { |
| | | context->param_list.cmd = cmd; |
| | | bool result =test_match(cmd->pattern, header); |
| | | if(result) |
| | | { |
| | | 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; |
| | |
| | | context->buffer.data = input_buffer; |
| | | context->buffer.length = input_buffer_length; |
| | | context->buffer.position = 0; |
| | | |
| | | |
| | | SCPI_ErrorInit(context, error_queue_data, error_queue_size); |
| | | } |
| | | |
| | |
| | | */ |
| | | 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标记位 |