PulseView  unreleased development snapshot
A Qt-based sigrok GUI
pv::data::DecodeSignal Class Reference

#include <decodesignal.hpp>

Inheritance diagram for pv::data::DecodeSignal:
Collaboration diagram for pv::data::DecodeSignal:

Signals

void decoder_stacked (void *decoder)
 decoder is of type decode::Decoder* More...
 
void decoder_removed (void *decoder)
 decoder is of type decode::Decoder* More...
 
void new_annotations ()
 
void new_binary_data (unsigned int segment_id, void *decoder, unsigned int bin_class_id)
 
void decode_reset ()
 
void decode_finished ()
 
void channels_updated ()
 
void annotation_visibility_changed ()
 
- Signals inherited from pv::data::SignalBase
void enabled_changed (const bool &value)
 
void name_changed (const QString &name)
 
void color_changed (const QColor &color)
 
void error_message_changed (QString msg)
 
void conversion_type_changed (const ConversionType t)
 
void samples_cleared ()
 
void samples_added (uint64_t segment_id, uint64_t start_sample, uint64_t end_sample)
 
void min_max_changed (float min, float max)
 

Public Member Functions

 DecodeSignal (pv::Session &session)
 
virtual ~DecodeSignal ()
 
virtual void set_name (QString name)
 
virtual void set_color (QColor color)
 
bool is_decode_signal () const
 
const vector< shared_ptr< Decoder > > & decoder_stack () const
 
void stack_decoder (const srd_decoder *decoder, bool restart_decode=true)
 
void remove_decoder (int index)
 
bool toggle_decoder_visibility (int index)
 
void reset_decode (bool shutting_down=false)
 
void begin_decode ()
 
void pause_decode ()
 
void resume_decode ()
 
bool is_paused () const
 
const vector< decode::DecodeChannelget_channels () const
 
void auto_assign_signals (const shared_ptr< Decoder > dec)
 
void assign_signal (const uint16_t channel_id, shared_ptr< const SignalBase > signal)
 
int get_assigned_signal_count () const
 
void update_output_signals ()
 
void set_initial_pin_state (const uint16_t channel_id, const int init_state)
 
virtual double get_samplerate () const
 
const pv::util::Timestamp start_time () const
 
int64_t get_working_sample_count (uint32_t segment_id) const
 
int64_t get_decoded_sample_count (uint32_t segment_id, bool include_processing) const
 
vector< Row * > get_rows (bool visible_only=false)
 
vector< const Row * > get_rows (bool visible_only=false) const
 
uint64_t get_annotation_count (const Row *row, uint32_t segment_id) const
 
void get_annotation_subset (deque< const Annotation * > &dest, const Row *row, uint32_t segment_id, uint64_t start_sample, uint64_t end_sample) const
 
void get_annotation_subset (deque< const Annotation * > &dest, uint32_t segment_id, uint64_t start_sample, uint64_t end_sample) const
 
uint32_t get_binary_data_chunk_count (uint32_t segment_id, const Decoder *dec, uint32_t bin_class_id) const
 
void get_binary_data_chunk (uint32_t segment_id, const Decoder *dec, uint32_t bin_class_id, uint32_t chunk_id, const vector< uint8_t > **dest, uint64_t *size)
 
void get_merged_binary_data_chunks_by_sample (uint32_t segment_id, const Decoder *dec, uint32_t bin_class_id, uint64_t start_sample, uint64_t end_sample, vector< uint8_t > *dest) const
 
void get_merged_binary_data_chunks_by_offset (uint32_t segment_id, const Decoder *dec, uint32_t bin_class_id, uint64_t start, uint64_t end, vector< uint8_t > *dest) const
 
const DecodeBinaryClassget_binary_data_class (uint32_t segment_id, const Decoder *dec, uint32_t bin_class_id) const
 
const deque< const Annotation * > * get_all_annotations_by_segment (uint32_t segment_id) const
 
virtual void save_settings (QSettings &settings) const
 
virtual void restore_settings (QSettings &settings)
 
- Public Member Functions inherited from pv::data::SignalBase
 SignalBase (shared_ptr< sigrok::Channel > channel, ChannelType channel_type)
 
virtual ~SignalBase ()
 
shared_ptr< sigrok::Channel > channel () const
 
bool is_generated () const
 
bool enabled () const
 
void set_enabled (bool value)
 
ChannelType type () const
 
unsigned int index () const
 
void set_index (unsigned int index)
 
unsigned int logic_bit_index () const
 
void set_group (SignalGroup *group)
 
SignalGroupgroup () const
 
QString name () const
 
QString internal_name () const
 
void set_internal_name (QString internal_name)
 
QString display_name () const
 
QColor color () const
 
QColor bgcolor () const
 
virtual QString get_error_message () const
 
void set_data (shared_ptr< pv::data::SignalData > data)
 
void clear_sample_data ()
 
shared_ptr< pv::data::Analoganalog_data () const
 
shared_ptr< pv::data::Logiclogic_data () const
 
shared_ptr< pv::data::SignalDatadata () const
 
bool segment_is_complete (uint32_t segment_id) const
 
bool has_samples () const
 
ConversionType get_conversion_type () const
 
void set_conversion_type (ConversionType t)
 
map< QString, QVariant > get_conversion_options () const
 
bool set_conversion_option (QString key, QVariant value)
 
vector< double > get_conversion_thresholds (const ConversionType t=NoConversion, const bool always_custom=false) const
 
vector< pair< QString, int > > get_conversion_presets () const
 
ConversionPreset get_current_conversion_preset () const
 
void set_conversion_preset (ConversionPreset id)
 
void start_conversion (bool delayed_start=false)
 

Private Slots

void on_capture_state_changed (int state)
 
void on_data_cleared ()
 
void on_data_received ()
 
void on_input_segment_completed ()
 
void on_annotation_visibility_changed ()
 

Private Member Functions

bool all_input_segments_complete (uint32_t segment_id) const
 
uint32_t get_input_segment_count () const
 
double get_input_samplerate (uint32_t segment_id) const
 
Decoderget_decoder_by_instance (const srd_decoder *const srd_dec)
 
void update_channel_list ()
 
void commit_decoder_channels ()
 
void mux_logic_samples (uint32_t segment_id, const int64_t start, const int64_t end)
 
void logic_mux_proc ()
 
void decode_data (const int64_t abs_start_samplenum, const int64_t sample_count, const shared_ptr< const LogicSegment > input_segment)
 
void decode_proc ()
 
void start_srd_session ()
 
void terminate_srd_session ()
 
void stop_srd_session ()
 
void connect_input_notifiers ()
 
void disconnect_input_notifiers ()
 
void create_decode_segment ()
 

Static Private Member Functions

static void annotation_callback (srd_proto_data *pdata, void *decode_signal)
 
static void binary_callback (srd_proto_data *pdata, void *decode_signal)
 
static void logic_output_callback (srd_proto_data *pdata, void *decode_signal)
 

Private Attributes

pv::Sessionsession_
 
vector< decode::DecodeChannelchannels_
 
struct srd_session * srd_session_
 
shared_ptr< Logiclogic_mux_data_
 
uint32_t logic_mux_unit_size_
 
bool logic_mux_data_invalid_
 
vector< shared_ptr< Decoder > > stack_
 
bool stack_config_changed_
 
deque< DecodeSegmentsegments_
 
uint32_t current_segment_id_
 
mutex input_mutex_
 
mutex output_mutex_
 
mutex decode_pause_mutex_
 
mutex logic_mux_mutex_
 
condition_variable decode_input_cond_
 
condition_variable decode_pause_cond_
 
condition_variable logic_mux_cond_
 
std::thread decode_thread_
 
std::thread logic_mux_thread_
 
atomic< bool > decode_interrupt_
 
atomic< bool > logic_mux_interrupt_
 
bool decode_paused_
 
map< const srd_decoder *, shared_ptr< Logic > > output_logic_
 
map< const srd_decoder *, vector< uint8_t > > output_logic_muxed_data_
 
vector< shared_ptr< SignalBase > > output_signals_
 

Static Private Attributes

static const double DecodeMargin = 1.0
 
static const double DecodeThreshold = 0.2
 
static const int64_t DecodeChunkLength = 256 * 1024
 

Additional Inherited Members

- Public Types inherited from pv::data::SignalBase
enum  ChannelType { AnalogChannel = 1, LogicChannel, DecodeChannel, MathChannel }
 
enum  ConversionType { NoConversion = 0, A2LConversionByThreshold = 1, A2LConversionBySchmittTrigger = 2 }
 
enum  ConversionPreset { NoPreset = -1, DynamicPreset = 0 }
 
- Static Public Attributes inherited from pv::data::SignalBase
static const QColor AnalogSignalColors [8]
 
static const QColor LogicSignalColors [10]
 
- Protected Member Functions inherited from pv::data::SignalBase
virtual void set_error_message (QString msg)
 
- Protected Attributes inherited from pv::data::SignalBase
shared_ptr< sigrok::Channel > channel_
 
ChannelType channel_type_
 
SignalGroupgroup_
 
shared_ptr< pv::data::SignalDatadata_
 
shared_ptr< pv::data::SignalDataconverted_data_
 
ConversionType conversion_type_
 
map< QString, QVariant > conversion_options_
 
float min_value_
 
float max_value_
 
std::thread conversion_thread_
 
atomic< bool > conversion_interrupt_
 
mutex conversion_input_mutex_
 
condition_variable conversion_input_cond_
 
QTimer delayed_conversion_starter_
 
QString internal_name_
 
QString name_
 
QColor color_
 
QColor bgcolor_
 
unsigned int index_
 
QString error_message_
 
- Properties inherited from pv::data::SignalBase
QString error_message
 

Detailed Description

Definition at line 93 of file decodesignal.hpp.

Constructor & Destructor Documentation

pv::data::DecodeSignal::DecodeSignal ( pv::Session session)

Definition at line 59 of file decodesignal.cpp.

Here is the call graph for this function:

pv::data::DecodeSignal::~DecodeSignal ( )
virtual

Definition at line 71 of file decodesignal.cpp.

Here is the call graph for this function:

Member Function Documentation

bool pv::data::DecodeSignal::all_input_segments_complete ( uint32_t  segment_id) const
private

Definition at line 940 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::annotation_callback ( srd_proto_data *  pdata,
void *  decode_signal 
)
staticprivate

Definition at line 1608 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::annotation_visibility_changed ( )
signal

Definition at line 272 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::assign_signal ( const uint16_t  channel_id,
shared_ptr< const SignalBase signal 
)

Definition at line 367 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::auto_assign_signals ( const shared_ptr< Decoder dec)

Definition at line 295 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::begin_decode ( )

Definition at line 206 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::binary_callback ( srd_proto_data *  pdata,
void *  decode_signal 
)
staticprivate

Definition at line 1713 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::channels_updated ( )
signal

Definition at line 266 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::commit_decoder_channels ( )
private

Definition at line 1099 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::connect_input_notifiers ( )
private

Definition at line 1554 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::create_decode_segment ( )
private

Definition at line 1588 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::decode_data ( const int64_t  abs_start_samplenum,
const int64_t  sample_count,
const shared_ptr< const LogicSegment input_segment 
)
private

Definition at line 1299 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::decode_finished ( )
signal

Definition at line 260 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::decode_proc ( )
private

Definition at line 1348 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::decode_reset ( )
signal

Definition at line 254 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::decoder_removed ( void *  decoder)
signal

decoder is of type decode::Decoder*

Definition at line 234 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

const vector< shared_ptr< Decoder > > & pv::data::DecodeSignal::decoder_stack ( ) const

Definition at line 90 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::decoder_stacked ( void *  decoder)
signal

decoder is of type decode::Decoder*

Definition at line 227 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::disconnect_input_notifiers ( )
private

Definition at line 1573 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

const deque< const Annotation * > * pv::data::DecodeSignal::get_all_annotations_by_segment ( uint32_t  segment_id) const

Definition at line 739 of file decodesignal.cpp.

Here is the caller graph for this function:

uint64_t pv::data::DecodeSignal::get_annotation_count ( const Row row,
uint32_t  segment_id 
) const

Definition at line 564 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::get_annotation_subset ( deque< const Annotation * > &  dest,
const Row row,
uint32_t  segment_id,
uint64_t  start_sample,
uint64_t  end_sample 
) const

Extracts annotations from a single row into a vector. Note: The annotations may be unsorted and only annotations that fully fit into the sample range are considered.

Definition at line 582 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::get_annotation_subset ( deque< const Annotation * > &  dest,
uint32_t  segment_id,
uint64_t  start_sample,
uint64_t  end_sample 
) const

Extracts annotations from all rows into a vector. Note: The annotations may be unsorted and only annotations that fully fit into the sample range are considered.

Definition at line 604 of file decodesignal.cpp.

Here is the call graph for this function:

int pv::data::DecodeSignal::get_assigned_signal_count ( ) const

Definition at line 387 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::get_binary_data_chunk ( uint32_t  segment_id,
const Decoder dec,
uint32_t  bin_class_id,
uint32_t  chunk_id,
const vector< uint8_t > **  dest,
uint64_t *  size 
)

Definition at line 626 of file decodesignal.cpp.

uint32_t pv::data::DecodeSignal::get_binary_data_chunk_count ( uint32_t  segment_id,
const Decoder dec,
uint32_t  bin_class_id 
) const

Definition at line 611 of file decodesignal.cpp.

Here is the caller graph for this function:

const DecodeBinaryClass * pv::data::DecodeSignal::get_binary_data_class ( uint32_t  segment_id,
const Decoder dec,
uint32_t  bin_class_id 
) const

Definition at line 724 of file decodesignal.cpp.

Here is the caller graph for this function:

const vector< decode::DecodeChannel > pv::data::DecodeSignal::get_channels ( ) const

Definition at line 290 of file decodesignal.cpp.

int64_t pv::data::DecodeSignal::get_decoded_sample_count ( uint32_t  segment_id,
bool  include_processing 
) const

Returns the number of processed samples. Newly generated annotations will have sample numbers greater than this.

If include_processing is true, this number will include the ones being currently processed (in case the decoder stack is running). In this case, newly generated annotations will have sample numbers smaller than this.

Definition at line 514 of file decodesignal.cpp.

Decoder * pv::data::DecodeSignal::get_decoder_by_instance ( const srd_decoder *const  srd_dec)
private

Definition at line 1009 of file decodesignal.cpp.

Here is the caller graph for this function:

double pv::data::DecodeSignal::get_input_samplerate ( uint32_t  segment_id) const
private

Definition at line 985 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

uint32_t pv::data::DecodeSignal::get_input_segment_count ( ) const
private

Definition at line 964 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::get_merged_binary_data_chunks_by_offset ( uint32_t  segment_id,
const Decoder dec,
uint32_t  bin_class_id,
uint64_t  start,
uint64_t  end,
vector< uint8_t > *  dest 
) const

Definition at line 683 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::get_merged_binary_data_chunks_by_sample ( uint32_t  segment_id,
const Decoder dec,
uint32_t  bin_class_id,
uint64_t  start_sample,
uint64_t  end_sample,
vector< uint8_t > *  dest 
) const

Definition at line 643 of file decodesignal.cpp.

vector< Row * > pv::data::DecodeSignal::get_rows ( bool  visible_only = false)

Definition at line 532 of file decodesignal.cpp.

Here is the caller graph for this function:

vector< const Row * > pv::data::DecodeSignal::get_rows ( bool  visible_only = false) const

Definition at line 548 of file decodesignal.cpp.

double pv::data::DecodeSignal::get_samplerate ( ) const
virtual

Returns the sample rate for this signal.

Reimplemented from pv::data::SignalBase.

Definition at line 461 of file decodesignal.cpp.

Here is the caller graph for this function:

int64_t pv::data::DecodeSignal::get_working_sample_count ( uint32_t  segment_id) const

Returns the number of samples that can be worked on, i.e. the number of samples where samples are available for all connected channels.

Definition at line 483 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool pv::data::DecodeSignal::is_decode_signal ( ) const
bool pv::data::DecodeSignal::is_paused ( ) const

Definition at line 285 of file decodesignal.cpp.

void pv::data::DecodeSignal::logic_mux_proc ( )
private

Definition at line 1208 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::logic_output_callback ( srd_proto_data *  pdata,
void *  decode_signal 
)
staticprivate

Definition at line 1762 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::mux_logic_samples ( uint32_t  segment_id,
const int64_t  start,
const int64_t  end 
)
private

Definition at line 1119 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::new_annotations ( )
signal

Definition at line 241 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::new_binary_data ( unsigned int  segment_id,
void *  decoder,
unsigned int  bin_class_id 
)
signal

Definition at line 247 of file moc_decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::on_annotation_visibility_changed ( )
privateslot

Definition at line 1873 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::on_capture_state_changed ( int  state)
privateslot

Definition at line 1833 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::on_data_cleared ( )
privateslot

Definition at line 1842 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::on_data_received ( )
privateslot

Definition at line 1847 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::on_input_segment_completed ( )
privateslot

Definition at line 1867 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::pause_decode ( )

Definition at line 271 of file decodesignal.cpp.

void pv::data::DecodeSignal::remove_decoder ( int  index)

Definition at line 126 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::reset_decode ( bool  shutting_down = false)

Definition at line 166 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::restore_settings ( QSettings settings)
virtual

Reimplemented from pv::data::SignalBase.

Definition at line 831 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::resume_decode ( )

Definition at line 276 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::save_settings ( QSettings settings) const
virtual

Reimplemented from pv::data::SignalBase.

Definition at line 750 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::set_color ( QColor  color)
virtual

Set the color of the signal.

Reimplemented from pv::data::SignalBase.

Definition at line 83 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::set_initial_pin_state ( const uint16_t  channel_id,
const int  init_state 
)

Definition at line 450 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::set_name ( QString  name)
virtual

Sets the name of the signal.

Reimplemented from pv::data::SignalBase.

Definition at line 76 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void pv::data::DecodeSignal::stack_decoder ( const srd_decoder *  decoder,
bool  restart_decode = true 
)

Definition at line 95 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::start_srd_session ( )
private

Definition at line 1442 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

const pv::util::Timestamp pv::data::DecodeSignal::start_time ( ) const

Definition at line 472 of file decodesignal.cpp.

void pv::data::DecodeSignal::stop_srd_session ( )
private

Definition at line 1541 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::terminate_srd_session ( )
private

Definition at line 1516 of file decodesignal.cpp.

Here is the caller graph for this function:

bool pv::data::DecodeSignal::toggle_decoder_visibility ( int  index)

Definition at line 148 of file decodesignal.cpp.

Here is the call graph for this function:

void pv::data::DecodeSignal::update_channel_list ( )
private

Definition at line 1018 of file decodesignal.cpp.

Here is the caller graph for this function:

void pv::data::DecodeSignal::update_output_signals ( )

Definition at line 394 of file decodesignal.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

vector<decode::DecodeChannel> pv::data::DecodeSignal::channels_
private

Definition at line 254 of file decodesignal.hpp.

uint32_t pv::data::DecodeSignal::current_segment_id_
private

Definition at line 266 of file decodesignal.hpp.

condition_variable pv::data::DecodeSignal::decode_input_cond_
mutableprivate

Definition at line 269 of file decodesignal.hpp.

atomic<bool> pv::data::DecodeSignal::decode_interrupt_
private

Definition at line 273 of file decodesignal.hpp.

condition_variable pv::data::DecodeSignal::decode_pause_cond_
mutableprivate

Definition at line 269 of file decodesignal.hpp.

mutex pv::data::DecodeSignal::decode_pause_mutex_
mutableprivate

Definition at line 268 of file decodesignal.hpp.

bool pv::data::DecodeSignal::decode_paused_
private

Definition at line 275 of file decodesignal.hpp.

std::thread pv::data::DecodeSignal::decode_thread_
private

Definition at line 272 of file decodesignal.hpp.

const int64_t pv::data::DecodeSignal::DecodeChunkLength = 256 * 1024
staticprivate

Definition at line 100 of file decodesignal.hpp.

const double pv::data::DecodeSignal::DecodeMargin = 1.0
staticprivate

Definition at line 98 of file decodesignal.hpp.

const double pv::data::DecodeSignal::DecodeThreshold = 0.2
staticprivate

Definition at line 99 of file decodesignal.hpp.

mutex pv::data::DecodeSignal::input_mutex_
mutableprivate

Definition at line 268 of file decodesignal.hpp.

condition_variable pv::data::DecodeSignal::logic_mux_cond_
mutableprivate

Definition at line 269 of file decodesignal.hpp.

shared_ptr<Logic> pv::data::DecodeSignal::logic_mux_data_
private

Definition at line 258 of file decodesignal.hpp.

bool pv::data::DecodeSignal::logic_mux_data_invalid_
private

Definition at line 260 of file decodesignal.hpp.

atomic<bool> pv::data::DecodeSignal::logic_mux_interrupt_
private

Definition at line 273 of file decodesignal.hpp.

mutex pv::data::DecodeSignal::logic_mux_mutex_
mutableprivate

Definition at line 268 of file decodesignal.hpp.

std::thread pv::data::DecodeSignal::logic_mux_thread_
private

Definition at line 272 of file decodesignal.hpp.

uint32_t pv::data::DecodeSignal::logic_mux_unit_size_
private

Definition at line 259 of file decodesignal.hpp.

map<const srd_decoder*, shared_ptr<Logic> > pv::data::DecodeSignal::output_logic_
private

Definition at line 277 of file decodesignal.hpp.

map<const srd_decoder*, vector<uint8_t> > pv::data::DecodeSignal::output_logic_muxed_data_
private

Definition at line 278 of file decodesignal.hpp.

mutex pv::data::DecodeSignal::output_mutex_
mutableprivate

Definition at line 268 of file decodesignal.hpp.

vector< shared_ptr<SignalBase> > pv::data::DecodeSignal::output_signals_
private

Definition at line 279 of file decodesignal.hpp.

deque<DecodeSegment> pv::data::DecodeSignal::segments_
private

Definition at line 265 of file decodesignal.hpp.

pv::Session& pv::data::DecodeSignal::session_
private

Definition at line 252 of file decodesignal.hpp.

struct srd_session* pv::data::DecodeSignal::srd_session_
private

Definition at line 256 of file decodesignal.hpp.

vector< shared_ptr<Decoder> > pv::data::DecodeSignal::stack_
private

Definition at line 262 of file decodesignal.hpp.

bool pv::data::DecodeSignal::stack_config_changed_
private

Definition at line 263 of file decodesignal.hpp.


The documentation for this class was generated from the following files: