};
static const uint32_t devopts[] = {
- SR_CONF_VOLTAGE_TARGET | SR_CONF_SET,
- SR_CONF_CURRENT_LIMIT | SR_CONF_SET,
+ SR_CONF_VOLTAGE_TARGET | SR_CONF_SET | SR_CONF_LIST,
+ SR_CONF_CURRENT_LIMIT | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_OVER_CURRENT_PROTECTION_ENABLED | SR_CONF_SET,
};
return send_msg1(sdi, 'V', (int) (dblval * 10 + 0.5));
case SR_CONF_CURRENT_LIMIT:
dblval = g_variant_get_double(data);
- if ((dblval < 0.01) || (dblval > 2.55)) {
+ if ((dblval < 0.00) || (dblval > 2.55)) {
sr_err("Current out of range (0 - 2.55)!");
return SR_ERR_ARG;
}
static int config_list(uint32_t key, GVariant **data,
const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
{
- return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
+ switch (key) {
+ case SR_CONF_SCAN_OPTIONS:
+ case SR_CONF_DEVICE_OPTIONS:
+ return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
+ case SR_CONF_VOLTAGE_TARGET:
+ *data = std_gvar_min_max_step(0.0, 35.0, 0.1);
+ break;
+ case SR_CONF_CURRENT_LIMIT:
+ *data = std_gvar_min_max_step(0.0, 2.55, 0.01);
+ break;
+ default:
+ return SR_ERR_NA;
+ }
+
+ return SR_OK;
}
static struct sr_dev_driver conrad_digi_35_cpu_driver_info = {