static GHashTable *pd_ann_visible = NULL;
static GHashTable *pd_meta_visible = NULL;
static GHashTable *pd_binary_visible = NULL;
-static GHashTable *pd_probe_maps = NULL;
+static GHashTable *pd_channel_maps = NULL;
extern struct srd_session *srd_sess;
extern gint opt_loglevel;
return TRUE;
}
-static GHashTable *extract_probe_map(struct srd_decoder *dec, GHashTable *hash)
+static GHashTable *extract_channel_map(struct srd_decoder *dec, GHashTable *hash)
{
- GHashTable *probe_map;
- struct srd_probe *p;
+ GHashTable *channel_map;
+ struct srd_channel *pdch;
GSList *l;
- probe_map = g_hash_table_new_full(g_str_hash, g_str_equal,
+ channel_map = g_hash_table_new_full(g_str_hash, g_str_equal,
g_free, g_free);
- for (l = dec->probes; l; l = l->next) {
- p = l->data;
- move_hash_element(hash, probe_map, p->id);
+ for (l = dec->channels; l; l = l->next) {
+ pdch = l->data;
+ move_hash_element(hash, channel_map, pdch->id);
}
- for (l = dec->opt_probes; l; l = l->next) {
- p = l->data;
- move_hash_element(hash, probe_map, p->id);
+ for (l = dec->opt_channels; l; l = l->next) {
+ pdch = l->data;
+ move_hash_element(hash, channel_map, pdch->id);
}
- return probe_map;
+ return channel_map;
}
/* Register the given PDs for this session.
int register_pds(const char *opt_pds, char *opt_pd_annotations)
{
struct srd_decoder *dec;
- GHashTable *pd_opthash, *options, *probes;
+ GHashTable *pd_opthash, *options, *channels;
GList *leftover, *l;
struct srd_decoder_inst *di;
int ret;
g_free, NULL);
ret = 0;
pd_name = NULL;
- pd_opthash = options = probes = pd_probe_maps = NULL;
+ pd_opthash = options = channels = pd_channel_maps = NULL;
pdtokens = g_strsplit(opt_pds, ",", 0);
for (pdtok = pdtokens; *pdtok; pdtok++) {
if (!(pd_opthash = parse_generic_arg(*pdtok, TRUE))) {
}
dec = srd_decoder_get_by_id(pd_name);
- /* Convert decoder option and probe values to GVariant. */
+ /* Convert decoder option and channel values to GVariant. */
if (!opts_to_gvar(dec, pd_opthash, &options)) {
ret = 1;
break;
}
- probes = extract_probe_map(dec, pd_opthash);
+ channels = extract_channel_map(dec, pd_opthash);
if (g_hash_table_size(pd_opthash) > 0) {
leftover = g_hash_table_get_keys(pd_opthash);
for (l = leftover; l; l = l->next)
- g_critical("Unknown option or probe '%s'", (char *)l->data);
+ g_critical("Unknown option or channel '%s'", (char *)l->data);
g_list_free(leftover);
break;
}
}
if (pdtok == pdtokens) {
- /* Save the probe setup for later, but only on the first
- * decoder -- stacked decoders don't get probes. */
- pd_probe_maps = g_hash_table_new_full(g_str_hash,
+ /*
+ * Save the channel setup for later, but only on the
+ * first decoder (stacked decoders don't get channels).
+ */
+ pd_channel_maps = g_hash_table_new_full(g_str_hash,
g_str_equal, g_free, (GDestroyNotify)g_hash_table_destroy);
- g_hash_table_insert(pd_probe_maps, g_strdup(di->inst_id), probes);
- probes = NULL;
+ g_hash_table_insert(pd_channel_maps, g_strdup(di->inst_id), channels);
+ channels = NULL;
}
/* If no annotation list was specified, add them all in now.
g_hash_table_destroy(pd_opthash);
if (options)
g_hash_table_destroy(options);
- if (probes)
- g_hash_table_destroy(probes);
+ if (channels)
+ g_hash_table_destroy(channels);
if (pd_name)
g_free(pd_name);
return ret;
}
-static void map_pd_inst_probes(void *key, void *value, void *user_data)
+static void map_pd_inst_channels(void *key, void *value, void *user_data)
{
- GHashTable *probe_map;
- GHashTable *probe_indices;
- GSList *probe_list;
+ GHashTable *channel_map;
+ GHashTable *channel_indices;
+ GSList *channel_list;
struct srd_decoder_inst *di;
GVariant *var;
- void *probe_id;
+ void *channel_id;
void *channel_target;
struct sr_channel *ch;
GHashTableIter iter;
int num_channels;
- probe_map = value;
- probe_list = user_data;
+ channel_map = value;
+ channel_list = user_data;
di = srd_inst_find_by_id(srd_sess, key);
if (!di) {
(char *)key);
return;
}
- probe_indices = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+ channel_indices = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
(GDestroyNotify)g_variant_unref);
- g_hash_table_iter_init(&iter, probe_map);
- while (g_hash_table_iter_next(&iter, &probe_id, &channel_target)) {
- ch = find_channel(probe_list, channel_target);
+ g_hash_table_iter_init(&iter, channel_map);
+ while (g_hash_table_iter_next(&iter, &channel_id, &channel_target)) {
+ ch = find_channel(channel_list, channel_target);
if (!ch) {
g_printerr("cli: No channel with name \"%s\" found.\n",
(char *)channel_target);
var = g_variant_new_int32(ch->index);
g_variant_ref_sink(var);
- g_hash_table_insert(probe_indices, g_strdup(probe_id), var);
+ g_hash_table_insert(channel_indices, g_strdup(channel_id), var);
}
- num_channels = g_slist_length(probe_list);
- srd_inst_probe_set_all(di, probe_indices, (num_channels + 7) / 8);
+ num_channels = g_slist_length(channel_list);
+ srd_inst_channel_set_all(di, channel_indices, (num_channels + 7) / 8);
}
-void map_pd_probes(struct sr_dev_inst *sdi)
+void map_pd_channels(struct sr_dev_inst *sdi)
{
- if (pd_probe_maps) {
- g_hash_table_foreach(pd_probe_maps, &map_pd_inst_probes,
+ if (pd_channel_maps) {
+ g_hash_table_foreach(pd_channel_maps, &map_pd_inst_channels,
sdi->channels);
- g_hash_table_destroy(pd_probe_maps);
- pd_probe_maps = NULL;
+ g_hash_table_destroy(pd_channel_maps);
+ pd_channel_maps = NULL;
}
}
gchar *opt_output_file = NULL;
gchar *opt_drv = NULL;
gchar *opt_config = NULL;
-static gchar *opt_probes = NULL;
+static gchar *opt_channels = NULL;
gchar *opt_channel_group = NULL;
gchar *opt_triggers = NULL;
gchar *opt_pds = NULL;
"Save output to file", NULL},
{"output-format", 'O', 0, G_OPTION_ARG_STRING, &opt_output_format,
"Output format", NULL},
- {"probes", 'p', 0, G_OPTION_ARG_STRING, &opt_probes,
- "Probes to use", NULL},
+ {"channels", 'C', 0, G_OPTION_ARG_STRING, &opt_channels,
+ "Channels to use", NULL},
{"channel-group", 'g', 0, G_OPTION_ARG_STRING, &opt_channel_group,
"Channel groups", NULL},
{"triggers", 't', 0, G_OPTION_ARG_STRING, &opt_triggers,
struct sr_channel *ch;
GSList *selected_channels, *l;
- if (opt_probes) {
- if (!(selected_channels = parse_channelstring(sdi, opt_probes)))
+ if (opt_channels) {
+ if (!(selected_channels = parse_channelstring(sdi, opt_channels)))
return SR_ERR;
for (l = sdi->channels; l; l = l->next) {
g_slist_free(selected_channels);
}
#ifdef HAVE_SRD
- map_pd_probes(sdi);
+ map_pd_channels(sdi);
#endif
return SR_OK;
}
struct srd_decoder *dec;
struct srd_decoder_option *o;
char **pdtokens, **pdtok, *optsep, **ann, *val, *doc;
- struct srd_probe *p;
+ struct srd_channel *pdch;
struct srd_decoder_annotation_row *r;
pdtokens = g_strsplit(opt_pds, ",", -1);
} else {
printf("None.\n");
}
- printf("Required probes:\n");
- if (dec->probes) {
- for (l = dec->probes; l; l = l->next) {
- p = l->data;
+ printf("Required channels:\n");
+ if (dec->channels) {
+ for (l = dec->channels; l; l = l->next) {
+ pdch = l->data;
printf("- %s (%s): %s\n",
- p->id, p->name, p->desc);
+ pdch->id, pdch->name, pdch->desc);
}
} else {
printf("None.\n");
}
- printf("Optional probes:\n");
- if (dec->opt_probes) {
- for (l = dec->opt_probes; l; l = l->next) {
- p = l->data;
+ printf("Optional channels:\n");
+ if (dec->opt_channels) {
+ for (l = dec->opt_channels; l; l = l->next) {
+ pdch = l->data;
printf("- %s (%s): %s\n",
- p->id, p->name, p->desc);
+ pdch->id, pdch->name, pdch->desc);
}
} else {
printf("None.\n");