drivers: Factor out std_gvar_array_*().

This commit is contained in:
Uwe Hermann 2017-07-20 23:43:53 +02:00
parent 7bc3cfe6ff
commit 105df67463
27 changed files with 62 additions and 97 deletions

View File

@ -155,8 +155,7 @@ static int config_list(uint32_t key, GVariant **data,
} else { } else {
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, ARRAY_SIZE(devopts_cg));
devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
break; break;
case SR_CONF_CURRENT_LIMIT: case SR_CONF_CURRENT_LIMIT:
*data = std_gvar_min_max_step(0.0, 6.0, 0.001); *data = std_gvar_min_max_step(0.0, 6.0, 0.001);

View File

@ -243,9 +243,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
break; break;
#if ASIX_SIGMA_WITH_TRIGGER #if ASIX_SIGMA_WITH_TRIGGER
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(int32_t));
break; break;
#endif #endif
default: default:

View File

@ -360,8 +360,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, ARRAY_SIZE(devopts_cg));
devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
break; break;
case SR_CONF_VOLTAGE_TARGET: case SR_CONF_VOLTAGE_TARGET:
*data = std_gvar_min_max_step_array(devc->model->channels[channel].voltage); *data = std_gvar_min_max_step_array(devc->model->channels[channel].voltage);

View File

@ -240,8 +240,7 @@ static int config_list(uint32_t key, GVariant **data,
if (bl_acme_probe_has_pws(cg)) if (bl_acme_probe_has_pws(cg))
devopts_cg[num_devopts_cg++] = HAS_POWER_OFF; devopts_cg[num_devopts_cg++] = HAS_POWER_OFF;
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, num_devopts_cg);
devopts_cg, num_devopts_cg, sizeof(uint32_t));
break; break;
default: default:
return SR_ERR_NA; return SR_ERR_NA;

View File

@ -248,9 +248,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
*data = std_gvar_samplerates_steps(samplerates, ARRAY_SIZE(samplerates)); *data = std_gvar_samplerates_steps(samplerates, ARRAY_SIZE(samplerates));
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(soft_trigger_matches, ARRAY_SIZE(soft_trigger_matches));
soft_trigger_matches, ARRAY_SIZE(soft_trigger_matches),
sizeof(int32_t));
break; break;
default: default:
return SR_ERR_NA; return SR_ERR_NA;

View File

@ -372,9 +372,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
if (!devc->prof) if (!devc->prof)
return SR_ERR_BUG; return SR_ERR_BUG;
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, devc->prof->num_trigger_matches);
trigger_matches, devc->prof->num_trigger_matches,
sizeof(int32_t));
break; break;
default: default:
return SR_ERR_NA; return SR_ERR_NA;

View File

@ -372,18 +372,12 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if (ch->type == SR_CHANNEL_LOGIC) if (ch->type == SR_CHANNEL_LOGIC)
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_logic, ARRAY_SIZE(devopts_cg_logic));
devopts_cg_logic, ARRAY_SIZE(devopts_cg_logic),
sizeof(uint32_t));
else if (ch->type == SR_CHANNEL_ANALOG) { else if (ch->type == SR_CHANNEL_ANALOG) {
if (strcmp(cg->name, "Analog") == 0) if (strcmp(cg->name, "Analog") == 0)
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_analog_group, ARRAY_SIZE(devopts_cg_analog_group));
devopts_cg_analog_group, ARRAY_SIZE(devopts_cg_analog_group),
sizeof(uint32_t));
else else
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_analog_channel, ARRAY_SIZE(devopts_cg_analog_channel));
devopts_cg_analog_channel, ARRAY_SIZE(devopts_cg_analog_channel),
sizeof(uint32_t));
} }
else else
return SR_ERR_BUG; return SR_ERR_BUG;

View File

@ -543,9 +543,7 @@ static int config_list(uint32_t key, GVariant **data,
*data = std_gvar_samplerates(devc->samplerates, devc->num_samplerates); *data = std_gvar_samplerates(devc->samplerates, devc->num_samplerates);
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(soft_trigger_matches, ARRAY_SIZE(soft_trigger_matches));
soft_trigger_matches, ARRAY_SIZE(soft_trigger_matches),
sizeof(int32_t));
break; break;
default: default:
return SR_ERR_NA; return SR_ERR_NA;

View File

@ -460,24 +460,18 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
switch (key) { switch (key) {
case SR_CONF_SCAN_OPTIONS: case SR_CONF_SCAN_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(scanopts, ARRAY_SIZE(scanopts));
scanopts, ARRAY_SIZE(scanopts), sizeof(uint32_t));
break; break;
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if (cg_type == CG_NONE) { if (cg_type == CG_NONE) {
if (model) if (model)
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32((const uint32_t *)model->devopts, model->num_devopts);
model->devopts, model->num_devopts, sizeof(uint32_t));
else else
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(drvopts, ARRAY_SIZE(drvopts));
drvopts, ARRAY_SIZE(drvopts), sizeof(uint32_t));
} else if (cg_type == CG_ANALOG) { } else if (cg_type == CG_ANALOG) {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32((const uint32_t *)model->devopts_cg_analog, model->num_devopts_cg_analog);
model->devopts_cg_analog, model->num_devopts_cg_analog,
sizeof(uint32_t));
} else { } else {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(NULL, 0);
NULL, 0, sizeof(uint32_t));
} }
break; break;
case SR_CONF_COUPLING: case SR_CONF_COUPLING:

View File

@ -476,8 +476,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
} else { } else {
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, ARRAY_SIZE(devopts_cg));
devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
break; break;
case SR_CONF_COUPLING: case SR_CONF_COUPLING:
*data = g_variant_new_strv(devc->coupling_vals, devc->coupling_tab_size); *data = g_variant_new_strv(devc->coupling_vals, devc->coupling_tab_size);

View File

@ -605,8 +605,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
if (!sdi) if (!sdi)
return SR_ERR_ARG; return SR_ERR_ARG;
devc = sdi->priv; devc = sdi->priv;
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64, *data = std_gvar_array_u64(devc->profile->buffersizes, NUM_BUFFER_SIZES);
devc->profile->buffersizes, NUM_BUFFER_SIZES, sizeof(uint64_t));
break; break;
case SR_CONF_TIMEBASE: case SR_CONF_TIMEBASE:
*data = std_gvar_tuple_array(&timebases, ARRAY_SIZE(timebases)); *data = std_gvar_tuple_array(&timebases, ARRAY_SIZE(timebases));
@ -625,8 +624,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
} else { } else {
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, ARRAY_SIZE(devopts_cg));
devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
break; break;
case SR_CONF_COUPLING: case SR_CONF_COUPLING:
*data = g_variant_new_strv(coupling, ARRAY_SIZE(coupling)); *data = g_variant_new_strv(coupling, ARRAY_SIZE(coupling));

View File

@ -592,8 +592,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if (!cg) if (!cg)
return STD_CONFIG_LIST(key, data, sdi, cg, NULL, drvopts, devopts); return STD_CONFIG_LIST(key, data, sdi, cg, NULL, drvopts, devopts);
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, ARRAY_SIZE(devopts_cg));
devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
break; break;
case SR_CONF_SAMPLERATE: case SR_CONF_SAMPLERATE:
*data = std_gvar_samplerates(samplerates, ARRAY_SIZE(samplerates)); *data = std_gvar_samplerates(samplerates, ARRAY_SIZE(samplerates));
@ -605,8 +604,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
*data = g_variant_new_strv(trigger_slopes, ARRAY_SIZE(trigger_slopes)); *data = g_variant_new_strv(trigger_slopes, ARRAY_SIZE(trigger_slopes));
break; break;
case SR_CONF_BUFFERSIZE: case SR_CONF_BUFFERSIZE:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64, *data = std_gvar_array_u64(buffersizes, ARRAY_SIZE(buffersizes));
buffersizes, ARRAY_SIZE(buffersizes), sizeof(uint64_t));
break; break;
case SR_CONF_VDIV: case SR_CONF_VDIV:
*data = std_gvar_tuple_array(&vdivs, ARRAY_SIZE(vdivs)); *data = std_gvar_tuple_array(&vdivs, ARRAY_SIZE(vdivs));

View File

@ -309,9 +309,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
*data = std_gvar_samplerates(sl2_samplerates, ARRAY_SIZE(sl2_samplerates)); *data = std_gvar_samplerates(sl2_samplerates, ARRAY_SIZE(sl2_samplerates));
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(int32_t));
break; break;
case SR_CONF_LIMIT_SAMPLES: case SR_CONF_LIMIT_SAMPLES:
grange[0] = g_variant_new_uint64(0); grange[0] = g_variant_new_uint64(0);

View File

@ -413,9 +413,7 @@ static int config_list(uint32_t key, GVariant **data,
*data = std_gvar_samplerates(samplerates, ARRAY_SIZE(samplerates)); *data = std_gvar_samplerates(samplerates, ARRAY_SIZE(samplerates));
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(int32_t));
break; break;
default: default:
return SR_ERR_NA; return SR_ERR_NA;

View File

@ -381,9 +381,7 @@ static int config_list(uint32_t key, GVariant **data,
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if (!cg) if (!cg)
return STD_CONFIG_LIST(key, data, sdi, cg, NULL, drvopts, devopts); return STD_CONFIG_LIST(key, data, sdi, cg, NULL, drvopts, devopts);
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_analog, ARRAY_SIZE(devopts_cg_analog));
devopts_cg_analog, ARRAY_SIZE(devopts_cg_analog),
sizeof(uint32_t));
break; break;
case SR_CONF_COUPLING: case SR_CONF_COUPLING:
*data = g_variant_new_strv(*model->coupling_options, *data = g_variant_new_strv(*model->coupling_options,

View File

@ -368,8 +368,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
} else { } else {
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg, ARRAY_SIZE(devopts_cg));
devopts_cg, ARRAY_SIZE(devopts_cg), sizeof(uint32_t));
break; break;
case SR_CONF_VOLTAGE_TARGET: case SR_CONF_VOLTAGE_TARGET:
*data = std_gvar_min_max_step(0.0, devc->model->max_voltage, 0.001); *data = std_gvar_min_max_step(0.0, devc->model->max_voltage, 0.001);

View File

@ -682,11 +682,9 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if ((ch_idx == 0) || (ch_idx == 1)) /* CH1, CH2 */ if ((ch_idx == 0) || (ch_idx == 1)) /* CH1, CH2 */
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_ch12, ARRAY_SIZE(devopts_cg_ch12));
devopts_cg_ch12, ARRAY_SIZE(devopts_cg_ch12), sizeof(uint32_t));
else /* Must be CH3 */ else /* Must be CH3 */
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_ch3, ARRAY_SIZE(devopts_cg_ch3));
devopts_cg_ch3, ARRAY_SIZE(devopts_cg_ch3), sizeof(uint32_t));
break; break;
case SR_CONF_VOLTAGE_TARGET: case SR_CONF_VOLTAGE_TARGET:
*data = std_gvar_min_max_step_array(devc->model->channels[ch_idx].voltage); *data = std_gvar_min_max_step_array(devc->model->channels[ch_idx].voltage);

View File

@ -334,9 +334,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
*data = std_gvar_samplerates_steps(samplerates, ARRAY_SIZE(samplerates)); *data = std_gvar_samplerates_steps(samplerates, ARRAY_SIZE(samplerates));
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(int32_t));
break; break;
case SR_CONF_PATTERN_MODE: case SR_CONF_PATTERN_MODE:
*data = g_variant_new_strv(patterns, ARRAY_SIZE(patterns)); *data = g_variant_new_strv(patterns, ARRAY_SIZE(patterns));

View File

@ -344,9 +344,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
*data = std_gvar_samplerates_steps(samplerates, ARRAY_SIZE(samplerates)); *data = std_gvar_samplerates_steps(samplerates, ARRAY_SIZE(samplerates));
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(int32_t));
break; break;
case SR_CONF_PATTERN_MODE: case SR_CONF_PATTERN_MODE:
*data = g_variant_new_strv(patterns, ARRAY_SIZE(patterns)); *data = g_variant_new_strv(patterns, ARRAY_SIZE(patterns));

View File

@ -851,14 +851,12 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
if (!cg) if (!cg)
return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts); return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
if (cg == devc->digital_group) { if (cg == devc->digital_group) {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(NULL, 0);
NULL, 0, sizeof(uint32_t));
return SR_OK; return SR_OK;
} else { } else {
for (i = 0; i < devc->model->analog_channels; i++) { for (i = 0; i < devc->model->analog_channels; i++) {
if (cg == devc->analog_groups[i]) { if (cg == devc->analog_groups[i]) {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_analog, ARRAY_SIZE(devopts_cg_analog));
devopts_cg_analog, ARRAY_SIZE(devopts_cg_analog), sizeof(uint32_t));
return SR_OK; return SR_OK;
} }
} }
@ -873,8 +871,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
case SR_CONF_PROBE_FACTOR: case SR_CONF_PROBE_FACTOR:
if (!cg) if (!cg)
return SR_ERR_CHANNEL_GROUP; return SR_ERR_CHANNEL_GROUP;
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64, *data = std_gvar_array_u64(probe_factor, ARRAY_SIZE(probe_factor));
probe_factor, ARRAY_SIZE(probe_factor), sizeof(uint64_t));
break; break;
case SR_CONF_VDIV: case SR_CONF_VDIV:
if (!devc) if (!devc)

View File

@ -524,9 +524,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
*data = g_variant_builder_end(&gvb); *data = g_variant_builder_end(&gvb);
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(soft_trigger_matches, ARRAY_SIZE(soft_trigger_matches));
soft_trigger_matches, ARRAY_SIZE(soft_trigger_matches),
sizeof(int32_t));
break; break;
default: default:
return SR_ERR_NA; return SR_ERR_NA;

View File

@ -562,9 +562,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devc->device->devopts_cg, devc->device->num_devopts_cg);
devc->device->devopts_cg, devc->device->num_devopts_cg,
sizeof(uint32_t));
break; break;
case SR_CONF_VOLTAGE_TARGET: case SR_CONF_VOLTAGE_TARGET:
*data = std_gvar_min_max_step_array(ch_spec->voltage); *data = std_gvar_min_max_step_array(ch_spec->voltage);

View File

@ -621,9 +621,7 @@ static int config_list(uint32_t key, GVariant **data,
*data = std_gvar_samplerates(devc->model->samplerates, devc->model->num_samplerates); *data = std_gvar_samplerates(devc->model->samplerates, devc->model->num_samplerates);
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(trigger_matches[0]));
break; break;
case SR_CONF_TRIGGER_SOURCE: case SR_CONF_TRIGGER_SOURCE:
*data = g_variant_new_strv(trigger_source_names, *data = g_variant_new_strv(trigger_source_names,

View File

@ -488,16 +488,12 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
switch (key) { switch (key) {
case SR_CONF_DEVICE_OPTIONS: case SR_CONF_DEVICE_OPTIONS:
if (cg_type == CG_ANALOG) { if (cg_type == CG_ANALOG)
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, *data = std_gvar_array_u32(devopts_cg_analog, ARRAY_SIZE(devopts_cg_analog));
devopts_cg_analog, ARRAY_SIZE(devopts_cg_analog), sizeof(uint32_t)); else if (cg_type == CG_DIGITAL)
} else if (cg_type == CG_DIGITAL) { *data = std_gvar_array_u32(devopts_cg_digital, ARRAY_SIZE(devopts_cg_digital));
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, else
devopts_cg_digital, ARRAY_SIZE(devopts_cg_digital), sizeof(uint32_t)); *data = std_gvar_array_u32(NULL, 0);
} else {
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
NULL, 0, sizeof(uint32_t));
}
break; break;
case SR_CONF_COUPLING: case SR_CONF_COUPLING:
if (cg_type == CG_NONE) if (cg_type == CG_NONE)

View File

@ -409,9 +409,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst *
} }
break; break;
case SR_CONF_TRIGGER_MATCH: case SR_CONF_TRIGGER_MATCH:
*data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, *data = std_gvar_array_i32(trigger_matches, ARRAY_SIZE(trigger_matches));
trigger_matches, ARRAY_SIZE(trigger_matches),
sizeof(int32_t));
break; break;
case SR_CONF_VOLTAGE_THRESHOLD: case SR_CONF_VOLTAGE_THRESHOLD:
*data = std_gvar_min_max_step_thresholds(-6.0, 6.0, 0.1); *data = std_gvar_min_max_step_thresholds(-6.0, 6.0, 0.1);

View File

@ -964,6 +964,9 @@ SR_PRIV GVariant *std_gvar_min_max_step(double min, double max, double step);
SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3]); SR_PRIV GVariant *std_gvar_min_max_step_array(const double a[3]);
SR_PRIV GVariant *std_gvar_min_max_step_thresholds(const double dmin, const double dmax, const double dstep); SR_PRIV GVariant *std_gvar_min_max_step_thresholds(const double dmin, const double dmax, const double dstep);
SR_PRIV GVariant *std_gvar_array_i32(const int32_t *a, unsigned int n);
SR_PRIV GVariant *std_gvar_array_u32(const uint32_t *a, unsigned int n);
SR_PRIV GVariant *std_gvar_array_u64(const uint64_t *a, unsigned int n);
/*--- resource.c ------------------------------------------------------------*/ /*--- resource.c ------------------------------------------------------------*/

View File

@ -646,3 +646,21 @@ SR_PRIV GVariant *std_gvar_min_max_step_thresholds(const double min, const doubl
return g_variant_builder_end(&gvb); return g_variant_builder_end(&gvb);
} }
SR_PRIV GVariant *std_gvar_array_i32(const int32_t *a, unsigned int n)
{
return g_variant_new_fixed_array(G_VARIANT_TYPE_INT32,
a, n, sizeof(int32_t));
}
SR_PRIV GVariant *std_gvar_array_u32(const uint32_t *a, unsigned int n)
{
return g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
a, n, sizeof(uint32_t));
}
SR_PRIV GVariant *std_gvar_array_u64(const uint64_t *a, unsigned int n)
{
return g_variant_new_fixed_array(G_VARIANT_TYPE_UINT64,
a, n, sizeof(uint64_t));
}