Use proper structure instead of plain buffer of uint8_t for the contents of DRAM in download_capture(). This is beneficial as we can interpret the contents easily.
Signed-off-by: Marek Vasut <[email protected]> --- hardware/asix-sigma/asix-sigma.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/hardware/asix-sigma/asix-sigma.c b/hardware/asix-sigma/asix-sigma.c index d2543a4..8be458e 100644 --- a/hardware/asix-sigma/asix-sigma.c +++ b/hardware/asix-sigma/asix-sigma.c @@ -947,10 +947,11 @@ static uint16_t sigma_dram_cluster_ts(struct sigma_dram_cluster *cluster) * For 50 MHz and below, events contain one sample for each channel, * spread 20 ns apart. */ -static int decode_chunk_ts(uint8_t *buf, uint16_t *lastts, +static int decode_chunk_ts(struct sigma_dram_line *dram_line, uint16_t *lastts, uint16_t *lastsample, int triggerpos, uint16_t limit_chunk, void *cb_data) { + uint8_t *buf = (uint8_t *)dram_line; struct sr_dev_inst *sdi = cb_data; struct dev_context *devc = sdi->priv; uint16_t tsdiff, ts; @@ -1083,7 +1084,6 @@ static int download_capture(struct sr_dev_inst *sdi) struct dev_context *devc = sdi->priv; const int chunks_per_read = 32; struct sigma_dram_line *dram_line; - unsigned char *buf; int bufsz; uint32_t stoppos, triggerpos; struct sr_datafeed_packet packet; @@ -1098,8 +1098,6 @@ static int download_capture(struct sr_dev_inst *sdi) if (!dram_line) return FALSE; - buf = (unsigned char *)dram_line; - sr_info("Downloading sample data."); /* Stop acquisition. */ @@ -1130,7 +1128,8 @@ static int download_capture(struct sr_dev_inst *sdi) /* We can download only up-to 32 DRAM lines in one go! */ dl_lines_curr = MIN(chunks_per_read, dl_lines_total); - bufsz = sigma_read_dram(dl_lines_done, dl_lines_curr, buf, devc); + bufsz = sigma_read_dram(dl_lines_done, dl_lines_curr, + (uint8_t *)dram_line, devc); /* TODO: Check bufsz. For now, just avoid compiler warnings. */ (void)bufsz; @@ -1152,7 +1151,7 @@ static int download_capture(struct sr_dev_inst *sdi) if (dl_lines_done + i == trg_line) trigger_line = trg_line; - decode_chunk_ts(buf + (i * CHUNK_SIZE), + decode_chunk_ts(dram_line + i, &devc->state.lastts, &devc->state.lastsample, trigger_line, dl_limit, sdi); -- 1.8.5.3 ------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform _______________________________________________ sigrok-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sigrok-devel

