X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fscpi-pps%2Fprotocol.h;h=80593ceca8ad54ed205e7db214a9bcd56f4f64d2;hb=3553451f1ed45d92bff11952cb131ac6a891b69f;hp=063fddc1b563fe7bda406e4ff91447a40647cf54;hpb=c1aae90038456a61d0f9313d34e6107c3440d3e7;p=libsigrok.git diff --git a/src/hardware/scpi-pps/protocol.h b/src/hardware/scpi-pps/protocol.h index 063fddc1..80593cec 100644 --- a/src/hardware/scpi-pps/protocol.h +++ b/src/hardware/scpi-pps/protocol.h @@ -24,6 +24,7 @@ #include #include #include "libsigrok-internal.h" +#include "scpi.h" #define LOG_PREFIX "scpi-pps" @@ -92,7 +93,6 @@ struct scpi_pps { const struct channel_group_spec *channel_groups; unsigned int num_channel_groups; const struct scpi_command *commands; - unsigned int num_commands; int (*probe_channels) (struct sr_dev_inst *sdi, struct sr_scpi_hw_info *hwinfo, struct channel_spec **channels, unsigned int *num_channels, struct channel_group_spec **channel_groups, unsigned int *num_channel_groups); @@ -100,15 +100,11 @@ struct scpi_pps { struct channel_spec { const char *name; - /* Min, max, programming resolution. */ - float voltage[3]; - float current[3]; - float frequency[3]; -}; - -struct scpi_command { - int command; - const char *string; + /* Min, max, programming resolution, spec digits, encoding digits. */ + float voltage[5]; + float current[5]; + float power[5]; + float frequency[5]; }; struct channel_group_spec { @@ -118,13 +114,14 @@ struct channel_group_spec { }; struct pps_channel { - int mq; + enum sr_mq mq; unsigned int hw_output_idx; const char *hwname; + int digits; }; struct pps_channel_instance { - int mq; + enum sr_mq mq; int command; const char *prefix; }; @@ -144,9 +141,6 @@ struct dev_context { /* Model-specific information */ const struct scpi_pps *device; - /* Acquisition settings */ - void *cb_data; - /* Operational state */ gboolean beeper_was_set; struct channel_spec *channels; @@ -159,14 +153,7 @@ struct dev_context { SR_PRIV extern unsigned int num_pps_profiles; SR_PRIV extern const struct scpi_pps pps_profiles[]; -SR_PRIV const char *get_vendor(const char *raw_vendor); -SR_PRIV const char *scpi_cmd_get(const struct sr_dev_inst *sdi, int command); -SR_PRIV int scpi_cmd(const struct sr_dev_inst *sdi, int command, ...); -SR_PRIV int scpi_cmd_resp(const struct sr_dev_inst *sdi, GVariant **gvar, - const GVariantType *gvtype, int command, ...); SR_PRIV int select_channel(const struct sr_dev_inst *sdi, struct sr_channel *ch); -SR_PRIV struct sr_channel *next_enabled_channel(const struct sr_dev_inst *sdi, - struct sr_channel *cur_channel); SR_PRIV int scpi_pps_receive_data(int fd, int revents, void *cb_data); #endif