asix-sigma: Use monotonic time not wallclock time
Switch from gettimeofday() to g_get_monotonic_time() calls. This commit is based on work done by jry@ (but with reduced diff size).
This commit is contained in:
parent
74d453abfd
commit
2f425a56ed
|
@ -388,7 +388,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
|
||||||
(devc->capture_ratio * 255) / 100, devc);
|
(devc->capture_ratio * 255) / 100, devc);
|
||||||
|
|
||||||
/* Start acqusition. */
|
/* Start acqusition. */
|
||||||
gettimeofday(&devc->start_tv, 0);
|
devc->start_time = g_get_monotonic_time();
|
||||||
regval = WMR_TRGRES | WMR_SDRAMWRITEEN;
|
regval = WMR_TRGRES | WMR_SDRAMWRITEEN;
|
||||||
#if ASIX_SIGMA_WITH_TRIGGER
|
#if ASIX_SIGMA_WITH_TRIGGER
|
||||||
regval |= WMR_TRGEN;
|
regval |= WMR_TRGEN;
|
||||||
|
|
|
@ -1138,7 +1138,7 @@ static int sigma_capture_mode(struct sr_dev_inst *sdi)
|
||||||
{
|
{
|
||||||
struct dev_context *devc;
|
struct dev_context *devc;
|
||||||
uint64_t running_msec;
|
uint64_t running_msec;
|
||||||
struct timeval tv;
|
uint64_t current_time;
|
||||||
|
|
||||||
devc = sdi->priv;
|
devc = sdi->priv;
|
||||||
|
|
||||||
|
@ -1146,9 +1146,8 @@ static int sigma_capture_mode(struct sr_dev_inst *sdi)
|
||||||
* Check if the selected sampling duration passed. Sample count
|
* Check if the selected sampling duration passed. Sample count
|
||||||
* limits are covered by this enforced timeout as well.
|
* limits are covered by this enforced timeout as well.
|
||||||
*/
|
*/
|
||||||
gettimeofday(&tv, 0);
|
current_time = g_get_monotonic_time();
|
||||||
running_msec = (tv.tv_sec - devc->start_tv.tv_sec) * 1000 +
|
running_msec = (current_time - devc->start_time) / 1000;
|
||||||
(tv.tv_usec - devc->start_tv.tv_usec) / 1000;
|
|
||||||
if (running_msec >= devc->limit_msec)
|
if (running_msec >= devc->limit_msec)
|
||||||
return download_capture(sdi);
|
return download_capture(sdi);
|
||||||
|
|
||||||
|
|
|
@ -262,7 +262,7 @@ struct dev_context {
|
||||||
uint64_t limit_msec;
|
uint64_t limit_msec;
|
||||||
uint64_t limit_samples;
|
uint64_t limit_samples;
|
||||||
uint64_t sent_samples;
|
uint64_t sent_samples;
|
||||||
struct timeval start_tv;
|
uint64_t start_time;
|
||||||
int cur_firmware;
|
int cur_firmware;
|
||||||
int num_channels;
|
int num_channels;
|
||||||
int cur_channels;
|
int cur_channels;
|
||||||
|
|
Loading…
Reference in New Issue