| | |
| | | return FALSE; |
| | | } |
| | | |
| | | value->value *= unitDef->mult; |
| | | value->content.value *= unitDef->mult; |
| | | value->unit = unitDef->unit; |
| | | |
| | | return TRUE; |
| | |
| | | |
| | | switch (param.type) { |
| | | case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA: |
| | | SCPI_ParamToDouble(context, ¶m, &(value->value)); |
| | | SCPI_ParamToDouble(context, ¶m, &(value->content.value)); |
| | | break; |
| | | case SCPI_TOKEN_HEXNUM: |
| | | SCPI_ParamToDouble(context, ¶m, &(value->value)); |
| | | SCPI_ParamToDouble(context, ¶m, &(value->content.value)); |
| | | break; |
| | | case SCPI_TOKEN_OCTNUM: |
| | | SCPI_ParamToDouble(context, ¶m, &(value->value)); |
| | | SCPI_ParamToDouble(context, ¶m, &(value->content.value)); |
| | | break; |
| | | case SCPI_TOKEN_BINNUM: |
| | | SCPI_ParamToDouble(context, ¶m, &(value->value)); |
| | | SCPI_ParamToDouble(context, ¶m, &(value->content.value)); |
| | | break; |
| | | case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA_WITH_SUFFIX: |
| | | scpiLex_DecimalNumericProgramData(&state, &token); |
| | | scpiLex_WhiteSpace(&state, &token); |
| | | scpiLex_SuffixProgramData(&state, &token); |
| | | |
| | | SCPI_ParamToDouble(context, ¶m, &(value->value)); |
| | | SCPI_ParamToDouble(context, ¶m, &(value->content.value)); |
| | | |
| | | result = transformNumber(context, token.ptr, token.len, value); |
| | | break; |
| | |
| | | result = SCPI_ParamToChoice(context, &token, special, &tag); |
| | | |
| | | value->special = TRUE; |
| | | value->tag = tag; |
| | | value->content.tag = tag; |
| | | |
| | | break; |
| | | default: |
| | |
| | | } |
| | | |
| | | if (value->special) { |
| | | if (SCPI_ChoiceToName(special, value->tag, &type)) { |
| | | if (SCPI_ChoiceToName(special, value->content.tag, &type)) { |
| | | strncpy(str, type, len); |
| | | result = SCPIDEFINE_strnlen(str, len - 1); |
| | | str[result] = '\0'; |
| | |
| | | } |
| | | } |
| | | |
| | | result = SCPI_DoubleToStr(value->value, str, len); |
| | | result = SCPI_DoubleToStr(value->content.value, str, len); |
| | | |
| | | if (result + 1 < len) { |
| | | unit = translateUnitInverse(context->units, value->unit); |