Merge pull request #89 from j123b567/feature/expose-on-off
expose bool choice definition (ON, OFF)
| | |
| | | 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); |
| | | |
| | | extern const scpi_choice_def_t scpi_bool_def[]; |
| | | 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); |
| | | |
| | |
| | | return FALSE; |
| | | } |
| | | |
| | | /* |
| | | * Definition of BOOL choice list |
| | | */ |
| | | const scpi_choice_def_t scpi_bool_def[] = { |
| | | {"OFF", 0}, |
| | | {"ON", 1}, |
| | | SCPI_CHOICE_LIST_END /* termination of option list */ |
| | | }; |
| | | |
| | | /** |
| | | * Read BOOL parameter (0,1,ON,OFF) |
| | | * @param context |
| | |
| | | scpi_bool_t result; |
| | | scpi_parameter_t param; |
| | | int32_t intval; |
| | | |
| | | scpi_choice_def_t bool_options[] = { |
| | | {"OFF", 0}, |
| | | {"ON", 1}, |
| | | SCPI_CHOICE_LIST_END /* termination of option list */ |
| | | }; |
| | | |
| | | if (!value) { |
| | | SCPI_ErrorPush(context, SCPI_ERROR_SYSTEM_ERROR); |
| | |
| | | SCPI_ParamToInt32(context, ¶m, &intval); |
| | | *value = intval ? TRUE : FALSE; |
| | | } else { |
| | | result = SCPI_ParamToChoice(context, ¶m, bool_options, &intval); |
| | | result = SCPI_ParamToChoice(context, ¶m, scpi_bool_def, &intval); |
| | | if (result) { |
| | | *value = intval ? TRUE : FALSE; |
| | | } |