scpi-pps: Add profile for HP 6633A supply

Oldie but goodie. Some of the HP 6632B options are renamed for
clarity, as they are common among the A and B variants.
This commit is contained in:
Alexandru Gagniuc 2016-05-08 12:57:06 -07:00
parent c2af709b01
commit e76a357536
1 changed files with 41 additions and 2 deletions

View File

@ -298,6 +298,18 @@ static const struct scpi_command rigol_dp800_cmd[] = {
}; };
/* HP 663xx series */ /* HP 663xx series */
static const uint32_t hp_6630a_devopts[] = {
SR_CONF_CONTINUOUS,
SR_CONF_ENABLED | SR_CONF_SET,
SR_CONF_VOLTAGE | SR_CONF_GET,
SR_CONF_CURRENT | SR_CONF_GET,
SR_CONF_VOLTAGE_TARGET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_CURRENT_LIMIT | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_OVER_VOLTAGE_PROTECTION_THRESHOLD | SR_CONF_SET,
SR_CONF_OVER_CURRENT_PROTECTION_ENABLED | SR_CONF_SET,
};
static const uint32_t hp_6632b_devopts[] = { static const uint32_t hp_6632b_devopts[] = {
SR_CONF_CONTINUOUS, SR_CONF_CONTINUOUS,
SR_CONF_ENABLED | SR_CONF_GET | SR_CONF_SET, SR_CONF_ENABLED | SR_CONF_GET | SR_CONF_SET,
@ -307,14 +319,31 @@ static const uint32_t hp_6632b_devopts[] = {
SR_CONF_CURRENT_LIMIT | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, SR_CONF_CURRENT_LIMIT | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
}; };
static const struct channel_spec hp_6633a_ch[] = {
{ "1", { 0, 51.188, 0.0125 }, { 0, 2.0475, 0.0005 }, FREQ_DC_ONLY },
};
static const struct channel_spec hp_6632b_ch[] = { static const struct channel_spec hp_6632b_ch[] = {
{ "1", { 0, 20.475, 0.005 }, { 0, 5.1188, 0.00132 }, FREQ_DC_ONLY }, { "1", { 0, 20.475, 0.005 }, { 0, 5.1188, 0.00132 }, FREQ_DC_ONLY },
}; };
static const struct channel_group_spec hp_6632b_cg[] = { static const struct channel_group_spec hp_663xx_cg[] = {
{ "1", CH_IDX(0), 0 }, { "1", CH_IDX(0), 0 },
}; };
static const struct scpi_command hp_6630a_cmd[] = {
{ SCPI_CMD_SET_OUTPUT_ENABLE, "OUT 1" },
{ SCPI_CMD_SET_OUTPUT_DISABLE, "OUT 0" },
{ SCPI_CMD_GET_MEAS_VOLTAGE, "VOUT?" },
{ SCPI_CMD_GET_MEAS_CURRENT, "IOUT?" },
{ SCPI_CMD_SET_VOLTAGE_TARGET, "VSET %.4f" },
{ SCPI_CMD_SET_CURRENT_LIMIT, "ISET %.4f" },
{ SCPI_CMD_SET_OVER_CURRENT_PROTECTION_ENABLE, "OCP 1" },
{ SCPI_CMD_SET_OVER_CURRENT_PROTECTION_DISABLE, "OCP 0" },
{ SCPI_CMD_SET_OVER_VOLTAGE_PROTECTION_THRESHOLD, "OVSET %.4f" },
ALL_ZERO
};
static const struct scpi_command hp_6632b_cmd[] = { static const struct scpi_command hp_6632b_cmd[] = {
{ SCPI_CMD_GET_OUTPUT_ENABLED, "OUTP:STAT?" }, { SCPI_CMD_GET_OUTPUT_ENABLED, "OUTP:STAT?" },
{ SCPI_CMD_SET_OUTPUT_ENABLE, "OUTP:STAT ON" }, { SCPI_CMD_SET_OUTPUT_ENABLE, "OUTP:STAT ON" },
@ -512,12 +541,22 @@ SR_PRIV const struct scpi_pps pps_profiles[] = {
chroma_62000_cmd, chroma_62000_cmd,
.probe_channels = chroma_62000p_probe_channels, .probe_channels = chroma_62000p_probe_channels,
}, },
/* HP 6633A */
{ "HP", "6633A", 0,
ARRAY_AND_SIZE(hp_6630a_devopts),
ARRAY_AND_SIZE(devopts_none),
ARRAY_AND_SIZE(hp_6633a_ch),
ARRAY_AND_SIZE(hp_663xx_cg),
hp_6630a_cmd,
.probe_channels = NULL,
},
/* HP 6632B */ /* HP 6632B */
{ "HP", "6632B", 0, { "HP", "6632B", 0,
ARRAY_AND_SIZE(hp_6632b_devopts), ARRAY_AND_SIZE(hp_6632b_devopts),
ARRAY_AND_SIZE(devopts_none), ARRAY_AND_SIZE(devopts_none),
ARRAY_AND_SIZE(hp_6632b_ch), ARRAY_AND_SIZE(hp_6632b_ch),
ARRAY_AND_SIZE(hp_6632b_cg), ARRAY_AND_SIZE(hp_663xx_cg),
hp_6632b_cmd, hp_6632b_cmd,
.probe_channels = NULL, .probe_channels = NULL,
}, },