projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix #928 by catching errors if config_list() fails
[pulseview.git]
/
pv
/
data
/
signalbase.hpp
diff --git
a/pv/data/signalbase.hpp
b/pv/data/signalbase.hpp
index 865f2551662fed2ab137781752c9064191cb698d..47c593fac7f364423d46e81697771d186c8ec7a0 100644
(file)
--- a/
pv/data/signalbase.hpp
+++ b/
pv/data/signalbase.hpp
@@
-51,8
+51,10
@@
namespace pv {
namespace data {
class Analog;
namespace data {
class Analog;
+class AnalogSegment;
class DecoderStack;
class Logic;
class DecoderStack;
class Logic;
+class LogicSegment;
class SignalData;
class SignalBase : public QObject
class SignalData;
class SignalBase : public QObject
@@
-138,6
+140,12
@@
public:
*/
QString internal_name() const;
*/
QString internal_name() const;
+ /**
+ * Produces a string for this signal that can be used for display,
+ * i.e. it contains one or both of the signal/internal names.
+ */
+ QString display_name() const;
+
/**
* Sets the name of the signal.
*/
/**
* Sets the name of the signal.
*/
@@
-173,6
+181,12
@@
public:
*/
shared_ptr<pv::data::Logic> logic_data() const;
*/
shared_ptr<pv::data::Logic> logic_data() const;
+ /**
+ * Determines whether a given segment is complete (i.e. end-of-frame has
+ * been seen). It only considers the original data, not the converted data.
+ */
+ bool segment_is_complete(uint32_t segment_id) const;
+
/**
* Queries the kind of conversion performed on this channel.
*/
/**
* Queries the kind of conversion performed on this channel.
*/
@@
-266,7
+280,9
@@
private:
uint8_t convert_a2l_schmitt_trigger(float lo_thr, float hi_thr,
float value, uint8_t &state);
uint8_t convert_a2l_schmitt_trigger(float lo_thr, float hi_thr,
float value, uint8_t &state);
- void conversion_thread_proc(QObject* segment);
+ void convert_single_segment(pv::data::AnalogSegment *asegment,
+ pv::data::LogicSegment *lsegment);
+ void conversion_thread_proc();
void stop_conversion();
void stop_conversion();
@@
-281,7
+297,7
@@
Q_SIGNALS:
void samples_cleared();
void samples_cleared();
- void samples_added(
QObject* segment
, uint64_t start_sample,
+ void samples_added(
uint64_t segment_id
, uint64_t start_sample,
uint64_t end_sample);
void min_max_changed(float min, float max);
uint64_t end_sample);
void min_max_changed(float min, float max);