X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fdecoder.cpp;h=ffdbeb93bc3835eee32594045af1e79f32260467;hp=841d4fd7b874cdf4ba30227beaf862f361d60627;hb=9f97b3576f527239594ea0accb82a4087147c746;hpb=ecd07c20d34ce940163ac2e7fb26cb7ceac565bb diff --git a/pv/data/decode/decoder.cpp b/pv/data/decode/decoder.cpp index 841d4fd7..ffdbeb93 100644 --- a/pv/data/decode/decoder.cpp +++ b/pv/data/decode/decoder.cpp @@ -37,8 +37,7 @@ namespace decode { Decoder::Decoder(const srd_decoder *const dec) : decoder_(dec), - shown_(true), - initial_pins_(nullptr) + shown_(true) { } @@ -75,18 +74,6 @@ void Decoder::set_channels(map& Decoder::options() const { return options_; @@ -143,11 +130,20 @@ srd_decoder_inst* Decoder::create_decoder_inst(srd_session *session) const return nullptr; // Setup the channels + GArray *const init_pin_states = g_array_sized_new(FALSE, TRUE, + sizeof(uint8_t), channels_.size()); + + g_array_set_size(init_pin_states, channels_.size()); + GHashTable *const channels = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_variant_unref); for (const auto& channel : channels_) { shared_ptr b(channel.second); + +// init_pin_states->data[pdch->order] = +// channel.initial_pin_state; + GVariant *const gvar = g_variant_new_int32(b->index()); g_variant_ref_sink(gvar); g_hash_table_insert(channels, channel.first->id, gvar); @@ -155,7 +151,8 @@ srd_decoder_inst* Decoder::create_decoder_inst(srd_session *session) const srd_inst_channel_set_all(decoder_inst, channels); - srd_inst_initial_pins_set_all(decoder_inst, initial_pins_); +// srd_inst_initial_pins_set_all(decoder_inst, initial_pin_states); + g_array_free(init_pin_states, TRUE); return decoder_inst; }