scpi-pps: add R&S HMP2000 model specs
authorGerhard Sittig <gerhard.sittig@gmx.net>
Tue, 2 Feb 2021 20:09:54 +0000 (21:09 +0100)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Tue, 2 Feb 2021 20:09:54 +0000 (21:09 +0100)
Re-use HMP4000 options and channel groups, only keep separate channel
specs for HMP2000 devices. HMP2030 has three identical 32V/5A channels.
HMP2020 has one 10A channel and one 5A channel.

src/hardware/scpi-pps/profiles.c

index d71cfc2aeae22f221c71ab1eb80f309b28dcccc3..d5dfb074f1bc1b7aaa3a9d6ea30f35bc8a044847 100644 (file)
@@ -1056,6 +1056,17 @@ static const uint32_t rs_hmp4040_devopts_cg[] = {
        SR_CONF_REGULATION | SR_CONF_GET,
 };
 
+static const struct channel_spec rs_hmp2020_ch[] = {
+       { "1", { 0, 32.050, 0.001, 3, 4 }, { 0.001, 10.01, 0.0002, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
+       { "2", { 0, 32.050, 0.001, 3, 4 }, { 0.001,  5.01, 0.0001, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
+};
+
+static const struct channel_spec rs_hmp2030_ch[] = {
+       { "1", { 0, 32.050, 0.001, 3, 4 }, { 0.001,  5.01, 0.0001, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
+       { "2", { 0, 32.050, 0.001, 3, 4 }, { 0.001,  5.01, 0.0001, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
+       { "3", { 0, 32.050, 0.001, 3, 4 }, { 0.001,  5.01, 0.0001, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
+};
+
 static const struct channel_spec rs_hmp4040_ch[] = {
        { "1", { 0, 32.050, 0.001, 3, 4 }, { 0.001, 10.01, 0.0002, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
        { "2", { 0, 32.050, 0.001, 3, 4 }, { 0.001, 10.01, 0.0002, 3, 4 }, { 0, 0, 0, 0, 4 }, FREQ_DC_ONLY, NO_OVP_LIMITS, NO_OCP_LIMITS },
@@ -1438,6 +1449,26 @@ SR_PRIV const struct scpi_pps pps_profiles[] = {
                .init_acquisition = NULL,
                .update_status = NULL,
        },
+       { "ROHDE&SCHWARZ", "HMP2020", SCPI_DIALECT_HMP, 0,
+               ARRAY_AND_SIZE(rs_hmp4040_devopts),
+               ARRAY_AND_SIZE(rs_hmp4040_devopts_cg),
+               rs_hmp2020_ch, 2,
+               rs_hmp4040_cg, 2,
+               rs_hmp4040_cmd,
+               .probe_channels = NULL,
+               .init_acquisition = NULL,
+               .update_status = NULL,
+       },
+       { "ROHDE&SCHWARZ", "HMP2030", SCPI_DIALECT_HMP, 0,
+               ARRAY_AND_SIZE(rs_hmp4040_devopts),
+               ARRAY_AND_SIZE(rs_hmp4040_devopts_cg),
+               rs_hmp2030_ch, 3,
+               rs_hmp4040_cg, 3,
+               rs_hmp4040_cmd,
+               .probe_channels = NULL,
+               .init_acquisition = NULL,
+               .update_status = NULL,
+       },
        { "ROHDE&SCHWARZ", "HMP4030", SCPI_DIALECT_HMP, 0,
                ARRAY_AND_SIZE(rs_hmp4040_devopts),
                ARRAY_AND_SIZE(rs_hmp4040_devopts_cg),