21 #ifndef PULSEVIEW_PV_SESSION_HPP
22 #define PULSEVIEW_PV_SESSION_HPP
30 #include <unordered_set>
38 #include <boost/thread/shared_mutex.hpp>
100 std::shared_ptr<sigrok::Session>
session()
const;
102 std::shared_ptr<devices::Device>
device()
const;
113 void start_capture(std::function<
void (
const QString)> error_handler);
117 std::set< std::shared_ptr<data::SignalData> >
get_data()
const;
121 const std::unordered_set< std::shared_ptr<view::Signal> >
125 bool add_decoder(srd_decoder *
const dec);
127 std::vector< std::shared_ptr<view::DecodeTrace> >
128 get_decode_signals()
const;
139 std::shared_ptr<sigrok::Channel> channel)
const;
143 std::function<
void (
const QString)> error_handler);
157 void data_feed_in(std::shared_ptr<sigrok::Device> device,
158 std::shared_ptr<sigrok::Packet> packet);
170 std::unordered_set< std::shared_ptr<view::Signal> >
signals_;
176 std::map< std::shared_ptr<sigrok::Channel>, std::shared_ptr<data::AnalogSegment> >
200 #endif // PULSEVIEW_PV_SESSION_HPP
void feed_in_logic(std::shared_ptr< sigrok::Logic > logic)
std::shared_ptr< data::LogicSegment > cur_logic_segment_
std::thread sampling_thread_
std::mutex sampling_mutex_
Protects access to capture_state_.
void sample_thread_proc(std::shared_ptr< devices::Device > device, std::function< void(const QString)> error_handler)
void capture_state_changed(int state)
std::recursive_mutex data_mutex_
std::shared_ptr< sigrok::Session > session() const
std::map< std::shared_ptr< sigrok::Channel >, std::shared_ptr< data::AnalogSegment > > cur_analog_segments_
std::shared_ptr< view::Signal > signal_from_channel(std::shared_ptr< sigrok::Channel > channel) const
const std::unordered_set< std::shared_ptr< view::Signal > > signals() const
void set_device(std::shared_ptr< devices::Device > device)
std::shared_ptr< data::Logic > logic_data_
std::shared_ptr< devices::Device > device() const
void feed_in_meta(std::shared_ptr< sigrok::Meta > meta)
void feed_in_frame_begin()
double get_samplerate() const
DeviceManager & device_manager()
capture_state get_capture_state() const
DeviceManager & device_manager_
boost::shared_mutex signals_mutex_
void data_feed_in(std::shared_ptr< sigrok::Device > device, std::shared_ptr< sigrok::Packet > packet)
void feed_in_analog(std::shared_ptr< sigrok::Analog > analog)
void set_default_device()
std::unordered_set< std::shared_ptr< view::Signal > > signals_
Session(DeviceManager &device_manager)
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 24 >, boost::multiprecision::et_off > Timestamp
Timestamp type providing yoctosecond resolution.
void set_capture_state(capture_state state)
capture_state capture_state_
std::vector< std::shared_ptr< view::DecodeTrace > > decode_traces_
std::shared_ptr< devices::Device > device_
void start_capture(std::function< void(const QString)> error_handler)
void trigger_event(util::Timestamp location)
std::set< std::shared_ptr< data::SignalData > > get_data() const