]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/scpi-pps/api.c
scpi-pps: Don't block waiting for a value on capture stop.
[libsigrok.git] / src / hardware / scpi-pps / api.c
index a35052dfebbb71215058ab2810b3640d7c768053..c2ed416ab46d9bf7906f9c28f4d4a0fe58ab2274 100644 (file)
@@ -2,6 +2,7 @@
  * This file is part of the libsigrok project.
  *
  * Copyright (C) 2014 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2017 Frank Stettner <frank-stettner@gmx.net>
  *
  * 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
@@ -609,6 +610,12 @@ static int config_list(uint32_t key, GVariant **data,
                case SR_CONF_CURRENT_LIMIT:
                        *data = std_gvar_min_max_step_array(ch_spec->current);
                        break;
+               case SR_CONF_OVER_VOLTAGE_PROTECTION_THRESHOLD:
+                       *data = std_gvar_min_max_step_array(ch_spec->ovp);
+                       break;
+               case SR_CONF_OVER_CURRENT_PROTECTION_THRESHOLD:
+                       *data = std_gvar_min_max_step_array(ch_spec->ocp);
+                       break;
                default:
                        return SR_ERR_NA;
                }
@@ -640,18 +647,9 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
 static int dev_acquisition_stop(struct sr_dev_inst *sdi)
 {
        struct sr_scpi_dev_inst *scpi;
-       double d;
 
        scpi = sdi->conn;
 
-       /*
-        * A requested value is certainly on the way. Retrieve it now,
-        * to avoid leaving the device in a state where it's not expecting
-        * commands.
-        *
-        * TODO: Doesn't work for (at least) the HP 66XXB models.
-        */
-       sr_scpi_get_double(scpi, NULL, &d);
        sr_scpi_source_remove(sdi->session, scpi);
 
        std_session_send_df_end(sdi);