scpi-pps: Don't use SCPI_CMD_REMOTE and SCPI_CMD_LOCAL for HP 66xxB devices when in GPIB mode.
This commit is contained in:
parent
5ce427c71b
commit
26e96658ab
|
@ -173,6 +173,9 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi,
|
||||||
sr_scpi_hw_info_free(hw_info);
|
sr_scpi_hw_info_free(hw_info);
|
||||||
hw_info = NULL;
|
hw_info = NULL;
|
||||||
|
|
||||||
|
/* Don't send SCPI_CMD_LOCAL for HP 66xxB devices using SCPI over GPIB */
|
||||||
|
if (!(devc->device->dialect == SCPI_DIALECT_HP_66XXB &&
|
||||||
|
scpi->transport == SCPI_TRANSPORT_LIBGPIB))
|
||||||
sr_scpi_cmd(sdi, devc->device->commands, 0, NULL, SCPI_CMD_LOCAL);
|
sr_scpi_cmd(sdi, devc->device->commands, 0, NULL, SCPI_CMD_LOCAL);
|
||||||
|
|
||||||
return sdi;
|
return sdi;
|
||||||
|
@ -265,7 +268,12 @@ static int dev_open(struct sr_dev_inst *sdi)
|
||||||
return SR_ERR;
|
return SR_ERR;
|
||||||
|
|
||||||
devc = sdi->priv;
|
devc = sdi->priv;
|
||||||
|
|
||||||
|
/* Don't send SCPI_CMD_REMOTE for HP 66xxB devices using SCPI over GPIB */
|
||||||
|
if (!(devc->device->dialect == SCPI_DIALECT_HP_66XXB &&
|
||||||
|
scpi->transport == SCPI_TRANSPORT_LIBGPIB))
|
||||||
sr_scpi_cmd(sdi, devc->device->commands, 0, NULL, SCPI_CMD_REMOTE);
|
sr_scpi_cmd(sdi, devc->device->commands, 0, NULL, SCPI_CMD_REMOTE);
|
||||||
|
|
||||||
devc->beeper_was_set = FALSE;
|
devc->beeper_was_set = FALSE;
|
||||||
if (sr_scpi_cmd_resp(sdi, devc->device->commands, 0, NULL,
|
if (sr_scpi_cmd_resp(sdi, devc->device->commands, 0, NULL,
|
||||||
&beeper, G_VARIANT_TYPE_BOOLEAN, SCPI_CMD_BEEPER) == SR_OK) {
|
&beeper, G_VARIANT_TYPE_BOOLEAN, SCPI_CMD_BEEPER) == SR_OK) {
|
||||||
|
@ -294,6 +302,10 @@ static int dev_close(struct sr_dev_inst *sdi)
|
||||||
if (devc->beeper_was_set)
|
if (devc->beeper_was_set)
|
||||||
sr_scpi_cmd(sdi, devc->device->commands,
|
sr_scpi_cmd(sdi, devc->device->commands,
|
||||||
0, NULL, SCPI_CMD_BEEPER_ENABLE);
|
0, NULL, SCPI_CMD_BEEPER_ENABLE);
|
||||||
|
|
||||||
|
/* Don't send SCPI_CMD_LOCAL for HP 66xxB devices using SCPI over GPIB */
|
||||||
|
if (!(devc->device->dialect == SCPI_DIALECT_HP_66XXB &&
|
||||||
|
scpi->transport == SCPI_TRANSPORT_LIBGPIB))
|
||||||
sr_scpi_cmd(sdi, devc->device->commands, 0, NULL, SCPI_CMD_LOCAL);
|
sr_scpi_cmd(sdi, devc->device->commands, 0, NULL, SCPI_CMD_LOCAL);
|
||||||
|
|
||||||
return sr_scpi_close(scpi);
|
return sr_scpi_close(scpi);
|
||||||
|
|
|
@ -638,6 +638,10 @@ static const struct channel_group_spec hp_6630b_cg[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct scpi_command hp_6630b_cmd[] = {
|
static const struct scpi_command hp_6630b_cmd[] = {
|
||||||
|
/*
|
||||||
|
* SCPI_CMD_REMOTE and SCPI_CMD_LOCAL are not used when GPIB is used,
|
||||||
|
* otherwise the device will report (non critical) error 602.
|
||||||
|
*/
|
||||||
{ SCPI_CMD_REMOTE, "SYST:REM" },
|
{ SCPI_CMD_REMOTE, "SYST:REM" },
|
||||||
{ SCPI_CMD_LOCAL, "SYST:LOC" },
|
{ SCPI_CMD_LOCAL, "SYST:LOC" },
|
||||||
{ SCPI_CMD_GET_OUTPUT_ENABLED, "OUTP:STAT?" },
|
{ SCPI_CMD_GET_OUTPUT_ENABLED, "OUTP:STAT?" },
|
||||||
|
|
Loading…
Reference in New Issue