static const uint32_t scanopts[] = {
SR_CONF_CONN,
+ SR_CONF_PROBE_NAMES,
};
static const uint32_t drvopts[] = {
uint8_t bus, addr;
uint16_t pid;
const char *conn;
+ const char *probe_names;
char conn_id[64];
int ret;
size_t ch_off, ch_max;
conn = NULL;
conn_devices = NULL;
+ probe_names = NULL;
for (l = options; l; l = l->next) {
src = l->data;
switch (src->key) {
case SR_CONF_CONN:
conn = g_variant_get_string(src->data, NULL);
break;
+ case SR_CONF_PROBE_NAMES:
+ probe_names = g_variant_get_string(src->data, NULL);
+ break;
}
}
if (conn)
ch_max = ARRAY_SIZE(channel_names_logic);
if (ch_max > devc->model->channel_count)
ch_max = devc->model->channel_count;
+ devc->channel_names_logic = sr_parse_probe_names(probe_names,
+ channel_names_logic, ch_max, ch_max, &ch_max);
cg = sr_channel_group_new(sdi, "Logic", NULL);
devc->cg_logic = cg;
for (ch_idx = 0; ch_idx < ch_max; ch_idx++) {
ch = sr_channel_new(sdi, ch_off,
SR_CHANNEL_LOGIC, TRUE,
- channel_names_logic[ch_idx]);
+ devc->channel_names_logic[ch_idx]);
ch_off++;
cg->channels = g_slist_append(cg->channels, ch);
}
uint64_t fw_uploaded; /* Timestamp of most recent FW upload. */
uint8_t identify_magic, identify_magic2;
const struct kingst_model *model;
+ char **channel_names_logic;
struct sr_channel_group *cg_logic, *cg_pwm;
/* User specified parameters. */