X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fscpi-pps%2Fprotocol.h;h=cf0dbdd5aa227a2815269378fabb917b888d6513;hb=c54ca323400bd03400e489cd5661bc28d81410c2;hp=76dc24a9e715d132e675aefdc18c04bdb6c55d2f;hpb=0de290a53e6a704ba119ca704a5e0cdcdcd60c83;p=libsigrok.git diff --git a/src/hardware/scpi-pps/protocol.h b/src/hardware/scpi-pps/protocol.h index 76dc24a9..cf0dbdd5 100644 --- a/src/hardware/scpi-pps/protocol.h +++ b/src/hardware/scpi-pps/protocol.h @@ -2,6 +2,7 @@ * This file is part of the libsigrok project. * * Copyright (C) 2014 Bert Vermeulen + * Copyright (C) 2017 Frank Stettner * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,7 +30,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 +101,13 @@ 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]; + double ovp[5]; + double ocp[5]; }; struct channel_group_spec { @@ -116,6 +120,7 @@ struct pps_channel { enum sr_mq mq; unsigned int hw_output_idx; const char *hwname; + int digits; }; struct pps_channel_instance { @@ -134,18 +139,15 @@ 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; + struct sr_sw_limits limits; }; SR_PRIV extern unsigned int num_pps_profiles;