#ifndef PULSEVIEW_PV_DATA_MATHSIGNAL_HPP
#define PULSEVIEW_PV_DATA_MATHSIGNAL_HPP
+#define exprtk_disable_rtl_io_file /* Potential security issue, doubt anyone would use those anyway */
+#define exprtk_disable_rtl_vecops /* Vector ops are rather useless for math channels */
+#define exprtk_disable_caseinsensitivity /* So that we can have both 't' and 'T' */
+
#include <limits>
#include <QString>
void reset_generation();
virtual void begin_generation();
- void generate_samples(uint32_t segment_id, const uint64_t start_sample,
+ uint64_t generate_samples(uint32_t segment_id, const uint64_t start_sample,
const int64_t sample_count);
void generation_proc();
bool all_input_signals_enabled(QString &disabled_signals) const;
Q_SIGNALS:
- 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);
-
void expression_changed(QString expression);
private Q_SLOTS:
uint64_t custom_sample_rate_;
uint64_t custom_sample_count_;
bool use_custom_sample_rate_, use_custom_sample_count_;
+ uint64_t generation_chunk_size_;
map<std::string, signal_data> input_signals_;
QString expression_;