Resolve #46: Detect missing parameter
| | |
| | | size_t SCPI_ResultBool(scpi_t * context, scpi_bool_t val); |
| | | |
| | | scpi_bool_t SCPI_Parameter(scpi_t * context, scpi_parameter_t * parameter, scpi_bool_t mandatory); |
| | | scpi_bool_t SCPI_ParamIsValid(scpi_parameter_t * parameter); |
| | | scpi_bool_t SCPI_ParamErrorOccurred(scpi_t * context); |
| | | scpi_bool_t SCPI_ParamIsNumber(scpi_parameter_t * parameter, scpi_bool_t suffixAllowed); |
| | | scpi_bool_t SCPI_ParamToInt(scpi_t * context, scpi_parameter_t * parameter, int32_t * value); |
| | | scpi_bool_t SCPI_ParamToUnsignedInt(scpi_t * context, scpi_parameter_t * parameter, uint32_t * value); |
| | |
| | | scpi_bool_t SCPI_CommandNumbers(scpi_t * context, int32_t * numbers, size_t len) { |
| | | return matchCommand (context->param_list.cmd->pattern, context->param_list.cmd_raw.data, context->param_list.cmd_raw.length, numbers, len); |
| | | } |
| | | |
| | | /** |
| | | * 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) |
| | | * @param parameter |
| | | * @return |
| | | */ |
| | | scpi_bool_t SCPI_ParamIsValid(scpi_parameter_t * parameter) |
| | | { |
| | | return parameter->type == SCPI_TOKEN_UNKNOWN ? FALSE : TRUE; |
| | | } |
| | | |
| | | /** |
| | | * Returns TRUE if there was an error during parameter handling |
| | | * @param context |
| | | * @return |
| | | */ |
| | | scpi_bool_t SCPI_ParamErrorOccurred(scpi_t * context) |
| | | { |
| | | return context->cmd_error; |
| | | } |