fix: Incorrect execution of immediate capture

This commit is contained in:
dreamsourcelabTAI 2023-04-11 10:34:27 +08:00
parent d51a6a69da
commit d5008eea3f
2 changed files with 8 additions and 4 deletions

View File

@ -1084,9 +1084,7 @@ namespace pv
set_receive_data_len(o.num_samples); set_receive_data_len(o.num_samples);
if (!_is_instant) if (!_is_instant)
{
_data_lock = true; _data_lock = true;
}
_data_updated = true; _data_updated = true;
} }
@ -1802,7 +1800,7 @@ namespace pv
dsv_err("%s", "The collected data is error!"); dsv_err("%s", "The collected data is error!");
// trig next collect // trig next collect
if (!_is_instant && is_repeat_mode() && _is_working && event == DS_EV_COLLECT_TASK_END) if (is_repeat_mode() && _is_working && event == DS_EV_COLLECT_TASK_END)
{ {
_callback->trigger_message(DSV_MSG_TRIG_NEXT_COLLECT); _callback->trigger_message(DSV_MSG_TRIG_NEXT_COLLECT);
} }

View File

@ -279,6 +279,9 @@ namespace pv
if (ret == QDialog::Accepted) if (ret == QDialog::Accepted)
{ {
if (_session->have_view_data() == false)
this->commit_settings();
_session->broadcast_msg(DSV_MSG_DEVICE_OPTIONS_UPDATED); _session->broadcast_msg(DSV_MSG_DEVICE_OPTIONS_UPDATED);
update_sample_rate_list(); update_sample_rate_list();
@ -338,9 +341,10 @@ namespace pv
const int index_back = _sample_count.currentIndex(); const int index_back = _sample_count.currentIndex();
int i = 0; int i = 0;
for (i = 0; i < _sample_count.count(); i++) for (i = 0; i < _sample_count.count(); i++){
if (_sample_count.itemData(i).value<uint64_t>() == ZeroTimeBase) if (_sample_count.itemData(i).value<uint64_t>() == ZeroTimeBase)
break; break;
}
_sample_count.setCurrentIndex(i); _sample_count.setCurrentIndex(i);
commit_hori_res(); commit_hori_res();
@ -797,6 +801,8 @@ namespace pv
{ {
bool test = false; bool test = false;
dsv_info("Commit device settings.");
if (_device_agent->have_instance()) if (_device_agent->have_instance())
{ {
GVariant *gvar = _device_agent->get_config(NULL, NULL, SR_CONF_TEST); GVariant *gvar = _device_agent->get_config(NULL, NULL, SR_CONF_TEST);