#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_HDIV | 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[] = {
"D7"
};
-static struct scope_config scope_models[] = {
+static const struct scope_config scope_models[] = {
{
.model_id = {"710105", "710115", "710125", NULL},
.model_name = {"DLM2022", "DLM2032", "DLM2052", NULL},
.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,
* @param config This is the scope configuration.
* @param state The current scope state to print.
*/
-static void scope_state_dump(struct scope_config *config,
+static void scope_state_dump(const struct scope_config *config,
struct scope_state *state)
{
unsigned int i;
* @return SR_ERR on error, SR_OK otherwise.
*/
static int analog_channel_state_get(struct sr_scpi_dev_inst *scpi,
- struct scope_config *config,
+ const struct scope_config *config,
struct scope_state *state)
{
int i, j;
* @return SR_ERR on error, SR_OK otherwise.
*/
static int digital_channel_state_get(struct sr_scpi_dev_inst *scpi,
- struct scope_config *config,
+ const struct scope_config *config,
struct scope_state *state)
{
unsigned int i;
{
struct dev_context *devc;
struct scope_state *state;
- struct scope_config *config;
+ const struct scope_config *config;
float tmp_float;
gchar *response;
int i;
*
* @return The newly allocated scope_state struct.
*/
-static struct scope_state *dlm_scope_state_new(struct scope_config *config)
+static struct scope_state *dlm_scope_state_new(const struct scope_config *config)
{
struct scope_state *state;
/* 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;
- sdi->channels = g_slist_append(sdi->channels, ch);
+ ch = sr_channel_new(sdi, i, SR_CHANNEL_ANALOG, TRUE,
+ (*scope_models[model_index].analog_names)[i]);
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;
- sdi->channels = g_slist_append(sdi->channels, ch);
+ ch = sr_channel_new(sdi, i, SR_CHANNEL_LOGIC, TRUE,
+ (*scope_models[model_index].digital_names)[i]);
devc->digital_groups[i / 8]->channels = g_slist_append(
devc->digital_groups[i / 8]->channels, ch);
devc->current_channel = devc->current_channel->next;
if (dlm_channel_data_request(sdi) != SR_OK) {
- sr_err("Failed to request aquisition data.");
+ sr_err("Failed to request acquisition data.");
goto fail;
}