diff --git a/DSView/demo/logic/protocol.demo b/DSView/demo/logic/protocol.demo index a72aab1e..3967e0ee 100644 Binary files a/DSView/demo/logic/protocol.demo and b/DSView/demo/logic/protocol.demo differ diff --git a/libsigrok4DSL/hardware/demo/demo.c b/libsigrok4DSL/hardware/demo/demo.c index 12004170..699a724b 100644 --- a/libsigrok4DSL/hardware/demo/demo.c +++ b/libsigrok4DSL/hardware/demo/demo.c @@ -924,26 +924,16 @@ static int config_set(int id, GVariant *data, struct sr_dev_inst *sdi, break; case SR_CONF_DEVICE_MODE: sdi->mode = g_variant_get_int16(data); - switch (sdi->mode) - { - case LOGIC: - nv = get_pattern_mode_index_by_string(LOGIC, DEFAULT_LOGIC_FILE); - if (nv != -1) - vdev->sample_generator = nv; - else - vdev->sample_generator = PATTERN_RANDOM; - reset_dsl_path(sdi,vdev->sample_generator); - break; - case DSO: - reset_dsl_path(sdi, PATTERN_RANDOM); - vdev->sample_generator = PATTERN_RANDOM; - break; - case ANALOG: - reset_dsl_path(sdi, PATTERN_RANDOM); - vdev->sample_generator = PATTERN_RANDOM; - break; - } + nv = get_pattern_mode_index_by_string(sdi->mode, (sdi->mode == LOGIC ? DEFAULT_LOGIC_FILE : + sdi->mode == DSO ? DEFAULT_DSO_FILE : DEFAULT_ANALOG_FILE)); + if (nv != -1) + vdev->sample_generator = nv; + else + vdev->sample_generator = PATTERN_RANDOM; + + reset_dsl_path(sdi,vdev->sample_generator); + load_virtual_device_session(sdi); break; case SR_CONF_PATTERN_MODE: diff --git a/libsigrok4DSL/hardware/demo/demo.h b/libsigrok4DSL/hardware/demo/demo.h index 84bf417a..2087a33a 100644 --- a/libsigrok4DSL/hardware/demo/demo.h +++ b/libsigrok4DSL/hardware/demo/demo.h @@ -26,6 +26,8 @@ #include #define DEFAULT_LOGIC_FILE "protocol" +#define DEFAULT_ANALOG_FILE "sine" +#define DEFAULT_DSO_FILE "sine" #define SEC 1 #define LOGIC_POST_DATA_PER_SECOND(n) ((n)/(8))