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:
Gerhard Sittig 2017-05-26 19:36:01 +02:00 committed by Uwe Hermann
parent 74d453abfd
commit 2f425a56ed
3 changed files with 5 additions and 6 deletions

View File

@ -388,7 +388,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
(devc->capture_ratio * 255) / 100, devc);
/* Start acqusition. */
gettimeofday(&devc->start_tv, 0);
devc->start_time = g_get_monotonic_time();
regval = WMR_TRGRES | WMR_SDRAMWRITEEN;
#if ASIX_SIGMA_WITH_TRIGGER
regval |= WMR_TRGEN;

View File

@ -1138,7 +1138,7 @@ static int sigma_capture_mode(struct sr_dev_inst *sdi)
{
struct dev_context *devc;
uint64_t running_msec;
struct timeval tv;
uint64_t current_time;
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
* limits are covered by this enforced timeout as well.
*/
gettimeofday(&tv, 0);
running_msec = (tv.tv_sec - devc->start_tv.tv_sec) * 1000 +
(tv.tv_usec - devc->start_tv.tv_usec) / 1000;
current_time = g_get_monotonic_time();
running_msec = (current_time - devc->start_time) / 1000;
if (running_msec >= devc->limit_msec)
return download_capture(sdi);

View File

@ -262,7 +262,7 @@ struct dev_context {
uint64_t limit_msec;
uint64_t limit_samples;
uint64_t sent_samples;
struct timeval start_tv;
uint64_t start_time;
int cur_firmware;
int num_channels;
int cur_channels;