#include "protocol.h"
-static const int32_t dlm_hwcaps[] = {
+static const uint32_t dlm_devopts[] = {
SR_CONF_LOGIC_ANALYZER,
SR_CONF_OSCILLOSCOPE,
- SR_CONF_TRIGGER_SLOPE,
- SR_CONF_TRIGGER_SOURCE,
- SR_CONF_TIMEBASE,
- SR_CONF_NUM_TIMEBASE,
- SR_CONF_HORIZ_TRIGGERPOS,
+ SR_CONF_LIMIT_FRAMES | SR_CONF_SET,
+ SR_CONF_SAMPLERATE | SR_CONF_GET,
+ SR_CONF_TRIGGER_SLOPE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_TIMEBASE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_NUM_TIMEBASE | SR_CONF_GET,
+ SR_CONF_HORIZ_TRIGGERPOS | SR_CONF_GET | SR_CONF_SET,
};
-static const int32_t dlm_analog_caps[] = {
- SR_CONF_VDIV,
- SR_CONF_COUPLING,
- SR_CONF_NUM_VDIV,
+static const uint32_t dlm_analog_devopts[] = {
+ SR_CONF_VDIV | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_COUPLING | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_NUM_VDIV | SR_CONF_GET,
};
static const char *dlm_coupling_options[] = {
.analog_names = &scope_analog_channel_names,
.digital_names = &scope_digital_channel_names,
- .hw_caps = &dlm_hwcaps,
- .num_hwcaps = ARRAY_SIZE(dlm_hwcaps),
+ .devopts = &dlm_devopts,
+ .num_devopts = ARRAY_SIZE(dlm_devopts),
- .analog_hwcaps = &dlm_analog_caps,
- .num_analog_hwcaps = ARRAY_SIZE(dlm_analog_caps),
+ .analog_devopts = &dlm_analog_devopts,
+ .num_analog_devopts = ARRAY_SIZE(dlm_analog_devopts),
.coupling_options = &dlm_coupling_options,
.trigger_sources = &dlm_2ch_trigger_sources,
.analog_names = &scope_analog_channel_names,
.digital_names = &scope_digital_channel_names,
- .hw_caps = &dlm_hwcaps,
- .num_hwcaps = ARRAY_SIZE(dlm_hwcaps),
+ .devopts = &dlm_devopts,
+ .num_devopts = ARRAY_SIZE(dlm_devopts),
- .analog_hwcaps = &dlm_analog_caps,
- .num_analog_hwcaps = ARRAY_SIZE(dlm_analog_caps),
+ .analog_devopts = &dlm_analog_devopts,
+ .num_analog_devopts = ARRAY_SIZE(dlm_analog_devopts),
.coupling_options = &dlm_coupling_options,
.trigger_sources = &dlm_4ch_trigger_sources,
/* Add analog channels. */
for (i = 0; i < scope_models[model_index].analog_channels; i++) {
- if (!(ch = sr_channel_new(i, SR_CHANNEL_ANALOG, TRUE,
- (*scope_models[model_index].analog_names)[i])))
- return SR_ERR_MALLOC;
+ ch = sr_channel_new(i, SR_CHANNEL_ANALOG, TRUE,
+ (*scope_models[model_index].analog_names)[i]);
sdi->channels = g_slist_append(sdi->channels, ch);
devc->analog_groups[i] = g_malloc0(sizeof(struct sr_channel_group));
/* Add digital channels. */
for (i = 0; i < scope_models[model_index].digital_channels; i++) {
- if (!(ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE,
- (*scope_models[model_index].digital_names)[i])))
- return SR_ERR_MALLOC;
+ ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE,
+ (*scope_models[model_index].digital_names)[i]);
sdi->channels = g_slist_append(sdi->channels, ch);
devc->digital_groups[i / 8]->channels = g_slist_append(