};
static const uint32_t devopts_cg_digital[] = {
+ /* EMPTY */
};
enum {
{
const struct scope_config *model;
+ if (!devc)
+ return CG_INVALID;
model = devc->model_config;
if (!cg)
ret = SR_OK;
break;
case SR_CONF_NUM_VDIV:
- if (!cg) {
+ if (!cg)
return SR_ERR_CHANNEL_GROUP;
- } else if (cg_type == CG_ANALOG) {
- *data = g_variant_new_int32(model->num_ydivs);
- ret = SR_OK;
- break;
- } else {
- ret = SR_ERR_NA;
- }
+ if (cg_type != CG_ANALOG)
+ return SR_ERR_NA;
+ *data = g_variant_new_int32(model->num_ydivs);
+ ret = SR_OK;
break;
case SR_CONF_VDIV:
- ret = SR_ERR_NA;
- if (!cg) {
+ if (!cg)
return SR_ERR_CHANNEL_GROUP;
- } else if (cg_type != CG_ANALOG)
- break;
+ if (cg_type != CG_ANALOG)
+ return SR_ERR_NA;
if ((idx = std_cg_idx(cg, devc->analog_groups, model->analog_channels)) < 0)
return SR_ERR_ARG;
*data = g_variant_new("(tt)",
ret = SR_OK;
break;
case SR_CONF_COUPLING:
- ret = SR_ERR_NA;
- if (!cg) {
+ if (!cg)
return SR_ERR_CHANNEL_GROUP;
- } else if (cg_type != CG_ANALOG)
- break;
+ if (cg_type != CG_ANALOG)
+ return SR_ERR_NA;
if ((idx = std_cg_idx(cg, devc->analog_groups, model->analog_channels)) < 0)
return SR_ERR_ARG;
*data = g_variant_new_string((*model->coupling_options)[state->analog_states[idx].coupling]);
state = devc->model_state;
update_sample_rate = FALSE;
- ret = SR_ERR_NA;
-
switch (key) {
case SR_CONF_LIMIT_FRAMES:
devc->frame_limit = g_variant_get_uint64(data);
*data = g_variant_new_strv(ARRAY_AND_SIZE(dlm_trigger_slopes));
return SR_OK;
case SR_CONF_NUM_HDIV:
+ if (!model)
+ return SR_ERR_ARG;
*data = g_variant_new_uint32(model->num_xdivs);
return SR_OK;
default:
switch (key) {
case SR_CONF_DEVICE_OPTIONS:
- if (cg_type == CG_ANALOG)
+ if (cg_type == CG_ANALOG) {
*data = std_gvar_array_u32(ARRAY_AND_SIZE(devopts_cg_analog));
- else if (cg_type == CG_DIGITAL)
+ break;
+ }
+ if (cg_type == CG_DIGITAL) {
+ if (!ARRAY_SIZE(devopts_cg_digital)) {
+ *data = std_gvar_array_u32(NULL, 0);
+ break;
+ }
*data = std_gvar_array_u32(ARRAY_AND_SIZE(devopts_cg_digital));
- else
- *data = std_gvar_array_u32(NULL, 0);
+ break;
+ }
+ *data = std_gvar_array_u32(NULL, 0);
break;
case SR_CONF_COUPLING:
if (!cg)