X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=instance.c;h=81ce3fd33fbc8b23d6665b098a1b3963c732a65a;hp=a47ce69c0894e79aae3a3c7d2cfdb9c9108aa842;hb=ecb0b96d4a4d0021b41ffebec0df219338aa3724;hpb=514b2edc54efda9c6698456748c4256bb901eddd diff --git a/instance.c b/instance.c index a47ce69..81ce3fd 100644 --- a/instance.c +++ b/instance.c @@ -255,14 +255,20 @@ SRD_API int srd_inst_channel_set_all(struct srd_decoder_inst *di, } pdch = sl->data; new_channelmap[pdch->order] = new_channelnum; - srd_dbg("Setting channel mapping: %s (index %d) = channel %d.", + srd_dbg("Setting channel mapping: %s (PD ch idx %d) = input data ch idx %d.", pdch->id, pdch->order, new_channelnum); } srd_dbg("Final channel map:"); num_required_channels = g_slist_length(di->decoder->channels); for (i = 0; i < di->dec_num_channels; i++) { - srd_dbg(" - index %d = channel %d (%s)", i, new_channelmap[i], + GSList *l = g_slist_nth(di->decoder->channels, i); + if (!l) + l = g_slist_nth(di->decoder->opt_channels, + i - num_required_channels); + pdch = l->data; + srd_dbg(" - PD ch idx %d (%s) = input data ch idx %d (%s)", i, + pdch->id, new_channelmap[i], (i < num_required_channels) ? "required" : "optional"); } @@ -931,7 +937,6 @@ static gboolean at_least_one_condition_matched( static gboolean find_match(struct srd_decoder_inst *di) { - static uint64_t s = 0; uint64_t i, j, num_samples_to_process; GSList *l, *cond; const uint8_t *sample_pos; @@ -962,7 +967,7 @@ static gboolean find_match(struct srd_decoder_inst *di) if (di->abs_cur_samplenum == 0) update_old_pins_array_initial_pins(di); - for (i = 0, s = 0; i < num_samples_to_process; i++, s++, (di->abs_cur_samplenum)++) { + for (i = 0; i < num_samples_to_process; i++, (di->abs_cur_samplenum)++) { sample_pos = di->inbuf + ((di->abs_cur_samplenum - di->abs_start_samplenum) * di->data_unitsize);