]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/scpi-pps/protocol.h
scpi-pps: Reimplemention of switching channel groups (PSU channels)
[libsigrok.git] / src / hardware / scpi-pps / protocol.h
index 76dc24a9e715d132e675aefdc18c04bdb6c55d2f..aee7fcc51b6bb7f6ba6558e09b4be415cecc6491 100644 (file)
@@ -29,7 +29,7 @@
 #define LOG_PREFIX "scpi-pps"
 
 enum pps_scpi_cmds {
-       SCPI_CMD_REMOTE,
+       SCPI_CMD_REMOTE = 1,
        SCPI_CMD_LOCAL,
        SCPI_CMD_BEEPER,
        SCPI_CMD_BEEPER_ENABLE,
@@ -100,10 +100,11 @@ struct scpi_pps {
 
 struct channel_spec {
        const char *name;
-       /* Min, max, programming resolution. */
-       float voltage[3];
-       float current[3];
-       float frequency[3];
+       /* Min, max, programming resolution, spec digits, encoding digits. */
+       double voltage[5];
+       double current[5];
+       double power[5];
+       double frequency[5];
 };
 
 struct channel_group_spec {
@@ -116,6 +117,7 @@ struct pps_channel {
        enum sr_mq mq;
        unsigned int hw_output_idx;
        const char *hwname;
+       int digits;
 };
 
 struct pps_channel_instance {
@@ -134,18 +136,14 @@ enum acq_states {
        STATE_STOP,
 };
 
-/** Private, per-device-instance driver context. */
 struct dev_context {
-       /* Model-specific information */
        const struct scpi_pps *device;
 
-       /* Operational state */
        gboolean beeper_was_set;
        struct channel_spec *channels;
        struct channel_group_spec *channel_groups;
 
-       /* Temporary state across callbacks */
-       struct sr_channel *cur_channel;
+       struct sr_channel *cur_acquisition_channel;
 };
 
 SR_PRIV extern unsigned int num_pps_profiles;