From: Stefan BrĂ¼ns Date: Mon, 2 May 2016 22:08:58 +0000 (+0200) Subject: hameg-hmo: Query probe unit (Volt, Ampere) from scope X-Git-Tag: libsigrok-0.5.0~393 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=448e81b1e565525c9e8881f17f36dbca93832346;p=libsigrok.git hameg-hmo: Query probe unit (Volt, Ampere) from scope --- diff --git a/src/hardware/hameg-hmo/protocol.c b/src/hardware/hameg-hmo/protocol.c index ffd682bf..280e2320 100644 --- a/src/hardware/hameg-hmo/protocol.c +++ b/src/hardware/hameg-hmo/protocol.c @@ -47,6 +47,7 @@ static const char *hameg_scpi_dialect[] = { [SCPI_CMD_SET_HORIZ_TRIGGERPOS] = ":TIM:POS %s", [SCPI_CMD_GET_ANALOG_CHAN_STATE] = ":CHAN%d:STAT?", [SCPI_CMD_SET_ANALOG_CHAN_STATE] = ":CHAN%d:STAT %d", + [SCPI_CMD_GET_PROBE_UNIT] = ":PROB%d:SET:ATT:UNIT?", }; static const uint32_t hmo_devopts[] = { @@ -422,6 +423,19 @@ static int analog_channel_state_get(struct sr_scpi_dev_inst *scpi, if (scope_state_get_array_option(scpi, command, config->coupling_options, &state->analog_channels[i].coupling) != SR_OK) return SR_ERR; + + g_snprintf(command, sizeof(command), + (*config->scpi_dialect)[SCPI_CMD_GET_PROBE_UNIT], + i + 1); + + if (sr_scpi_get_string(scpi, command, &tmp_str) != SR_OK) + return SR_ERR; + + if (tmp_str[0] == 'A') + state->analog_channels[i].probe_unit = 'A'; + else + state->analog_channels[i].probe_unit = 'V'; + g_free(tmp_str); } return SR_OK; diff --git a/src/hardware/hameg-hmo/protocol.h b/src/hardware/hameg-hmo/protocol.h index 3747d62b..6219ed63 100644 --- a/src/hardware/hameg-hmo/protocol.h +++ b/src/hardware/hameg-hmo/protocol.h @@ -73,6 +73,7 @@ struct analog_channel_state { float vertical_offset; gboolean state; + char probe_unit; }; struct scope_state {