forked from Ivasoft/DSView
get a right capture time for logic with loop mode
This commit is contained in:
@@ -104,6 +104,7 @@ namespace pv
|
||||
_is_triged = false;
|
||||
_dso_status_valid = false;
|
||||
_is_task_end = false;
|
||||
_capture_work_time = 0;
|
||||
|
||||
_data_list.push_back(new SessionData());
|
||||
_data_list.push_back(new SessionData());
|
||||
@@ -1476,7 +1477,7 @@ namespace pv
|
||||
if (mode == LOGIC){
|
||||
auto logic_data = _capture_data->get_logic();
|
||||
if (is_loop_mode() && logic_data->get_loop_offset() > 0){
|
||||
uint64_t milliseconds = logic_data->get_ring_sample_count() / 1000000;
|
||||
uint64_t milliseconds = _capture_work_time / 1000000;
|
||||
QDateTime sessionTime = QDateTime::currentDateTime();
|
||||
sessionTime = sessionTime.addMSecs(-milliseconds);
|
||||
set_session_time(sessionTime);
|
||||
|
||||
@@ -455,6 +455,10 @@ public:
|
||||
|
||||
void ProcessPowerEvent(bool bEnterSleep);
|
||||
|
||||
inline void set_capture_work_time(uint64_t tm){
|
||||
_capture_work_time = tm;
|
||||
}
|
||||
|
||||
private:
|
||||
void set_cur_samplelimits(uint64_t samplelimits);
|
||||
void set_cur_snap_samplerate(uint64_t samplerate);
|
||||
@@ -623,6 +627,7 @@ private:
|
||||
IDecoderPannel *_decoder_pannel;
|
||||
sr_status _dso_status;
|
||||
bool _dso_status_valid;
|
||||
uint64_t _capture_work_time;
|
||||
|
||||
private:
|
||||
// TODO: This should not be necessary. Multiple concurrent
|
||||
|
||||
@@ -792,6 +792,8 @@ namespace pv
|
||||
_sample_rate.currentIndex())
|
||||
.value<uint64_t>();
|
||||
|
||||
_session->set_capture_work_time((uint64_t)sample_duration);
|
||||
|
||||
if (_device_agent->have_instance())
|
||||
{
|
||||
if (sample_rate != _device_agent->get_sample_rate())
|
||||
|
||||
Reference in New Issue
Block a user