From: Bert Vermeulen Date: Sun, 7 Apr 2013 22:37:12 +0000 (+0200) Subject: rigol-ds1xx2: Support SR_CONF_NUM_TIMEBASE/SR_CONF_NUM_VDIV X-Git-Tag: dsupstream~176 X-Git-Url: https://sigrok.org/gitweb/?a=commitdiff_plain;h=d62d7ad151e2b50484bc6bf36c94b9657ed6a500;p=libsigrok.git rigol-ds1xx2: Support SR_CONF_NUM_TIMEBASE/SR_CONF_NUM_VDIV --- diff --git a/hardware/rigol-ds1xx2/api.c b/hardware/rigol-ds1xx2/api.c index 61b3dbe1..a357d63b 100644 --- a/hardware/rigol-ds1xx2/api.c +++ b/hardware/rigol-ds1xx2/api.c @@ -26,6 +26,9 @@ #include "libsigrok-internal.h" #include "protocol.h" +#define NUM_TIMEBASE 12 +#define NUM_VDIV 8 + static const int32_t hwcaps[] = { SR_CONF_OSCILLOSCOPE, SR_CONF_LIMIT_SAMPLES, @@ -35,6 +38,8 @@ static const int32_t hwcaps[] = { SR_CONF_HORIZ_TRIGGERPOS, SR_CONF_VDIV, SR_CONF_COUPLING, + SR_CONF_NUM_TIMEBASE, + SR_CONF_NUM_VDIV, }; static const uint64_t timebases[][2] = { @@ -304,6 +309,25 @@ static int hw_cleanup(void) return SR_OK; } +static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi) +{ + + (void)sdi; + + switch (id) { + case SR_CONF_NUM_TIMEBASE: + *data = g_variant_new_int32(NUM_TIMEBASE); + break; + case SR_CONF_NUM_VDIV: + *data = g_variant_new_int32(NUM_VDIV); + break; + default: + return SR_ERR_ARG; + } + + return SR_OK; +} + static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi) { struct dev_context *devc; @@ -512,7 +536,7 @@ SR_PRIV struct sr_dev_driver rigol_ds1xx2_driver_info = { .scan = hw_scan, .dev_list = hw_dev_list, .dev_clear = clear_instances, - .config_get = NULL, + .config_get = config_get, .config_set = config_set, .config_list = config_list, .dev_open = hw_dev_open,