[SCPI_CMD_SET_ANALOG_CHAN_STATE] = ":CHAN%d:STAT %d",
};
-static const int32_t hmo_hwcaps[] = {
+static const uint32_t hmo_hwcaps[] = {
SR_CONF_OSCILLOSCOPE,
SR_CONF_TRIGGER_SOURCE,
SR_CONF_TIMEBASE,
SR_CONF_LIMIT_FRAMES,
};
-static const int32_t hmo_analog_caps[] = {
+static const uint32_t hmo_analog_caps[] = {
SR_CONF_NUM_VDIV,
SR_CONF_COUPLING,
SR_CONF_VDIV,
break;
}
}
- if (i == config->num_vdivs)
+ if (j == config->num_vdivs) {
+ sr_err("Could not determine array index for vertical div scale.");
return SR_ERR;
+ }
g_snprintf(command, sizeof(command),
(*config->scpi_dialect)[SCPI_CMD_GET_VERTICAL_OFFSET],
break;
}
}
- if (i == config->num_timebases)
+ if (i == config->num_timebases) {
+ sr_err("Could not determine array index for time base.");
return SR_ERR;
+ }
if (sr_scpi_get_float(sdi->conn,
(*config->scpi_dialect)[SCPI_CMD_GET_HORIZ_TRIGGERPOS],
return SR_ERR_NA;
}
- if (!(devc->analog_groups = g_try_malloc0(sizeof(struct sr_channel_group) *
- scope_models[model_index].analog_channels)))
- return SR_ERR_MALLOC;
+ devc->analog_groups = g_malloc0(sizeof(struct sr_channel_group*) *
+ scope_models[model_index].analog_channels);
- if (!(devc->digital_groups = g_try_malloc0(sizeof(struct sr_channel_group) *
- scope_models[model_index].digital_pods)))
- return SR_ERR_MALLOC;
+ devc->digital_groups = g_malloc0(sizeof(struct sr_channel_group*) *
+ scope_models[model_index].digital_pods);
/* Add analog channels. */
for (i = 0; i < scope_models[model_index].analog_channels; i++) {
return SR_ERR_MALLOC;
sdi->channels = g_slist_append(sdi->channels, ch);
- devc->analog_groups[i].name =
- (char *)(*scope_models[model_index].analog_names)[i];
- devc->analog_groups[i].channels = g_slist_append(NULL, ch);
+ devc->analog_groups[i] = g_malloc0(sizeof(struct sr_channel_group));
+
+ devc->analog_groups[i]->name = g_strdup(
+ (char *)(*scope_models[model_index].analog_names)[i]);
+ devc->analog_groups[i]->channels = g_slist_append(NULL, ch);
sdi->channel_groups = g_slist_append(sdi->channel_groups,
- &devc->analog_groups[i]);
+ devc->analog_groups[i]);
}
/* Add digital channel groups. */
for (i = 0; i < scope_models[model_index].digital_pods; ++i) {
g_snprintf(tmp, 25, "POD%d", i);
- devc->digital_groups[i].name = g_strdup(tmp);
+
+ devc->digital_groups[i] = g_malloc0(sizeof(struct sr_channel_group));
+
+ devc->digital_groups[i]->name = g_strdup(tmp);
sdi->channel_groups = g_slist_append(sdi->channel_groups,
- &devc->digital_groups[i < 8 ? 0 : 1]);
+ devc->digital_groups[i < 8 ? 0 : 1]);
}
/* Add digital channels. */
return SR_ERR_MALLOC;
sdi->channels = g_slist_append(sdi->channels, ch);
- devc->digital_groups[i < 8 ? 0 : 1].channels = g_slist_append(
- devc->digital_groups[i < 8 ? 0 : 1].channels, ch);
+ devc->digital_groups[i < 8 ? 0 : 1]->channels = g_slist_append(
+ devc->digital_groups[i < 8 ? 0 : 1]->channels, ch);
}
devc->model_config = &scope_models[model_index];