From: Marek Vasut Date: Sun, 20 Apr 2014 20:36:55 +0000 (+0200) Subject: asix-sigma: Introduce function to read DRAM cluster timestamp X-Git-Tag: libsigrok-0.3.0~35 X-Git-Url: http://sigrok.org/gitweb/?a=commitdiff_plain;h=3513d965699c663c329955f1a96f79fce73dcc6e;hp=e69ad48e084138c72b5cb5a419efed628c0996bc;p=libsigrok.git asix-sigma: Introduce function to read DRAM cluster timestamp Introduce helper function which returns the timestamp of DRAM cluster and use it in download_capture(). Signed-off-by: Marek Vasut --- diff --git a/hardware/asix-sigma/asix-sigma.c b/hardware/asix-sigma/asix-sigma.c index e5737324..d2543a4d 100644 --- a/hardware/asix-sigma/asix-sigma.c +++ b/hardware/asix-sigma/asix-sigma.c @@ -929,6 +929,15 @@ static int get_trigger_offset(uint16_t *samples, uint16_t last_sample, return i & 0x7; } + +/* + * Return the timestamp of "DRAM cluster". + */ +static uint16_t sigma_dram_cluster_ts(struct sigma_dram_cluster *cluster) +{ + return (cluster->timestamp_hi << 8) | cluster->timestamp_lo; +} + /* * Decode chunk of 1024 bytes, 64 clusters, 7 events per cluster. * Each event is 20ns apart, and can contain multiple samples. @@ -1127,7 +1136,8 @@ static int download_capture(struct sr_dev_inst *sdi) /* This is the first DRAM line, so find the initial timestamp. */ if (dl_lines_done == 0) { - devc->state.lastts = RL16(buf) - 1; + devc->state.lastts = + sigma_dram_cluster_ts(&dram_line[0].cluster[0]); devc->state.lastsample = 0; }