Page 1 of 1

DSO Shell only transmits first half of waveform

Posted: Sat Jan 19, 2019 7:47 pm
by wbbnm
I am trying to transfer waveform data from the DSO Shell to my computer.
I am using a CP210x microUSB convertor board.

The board seems to be working properly and I can transfer some data including settings and measurements.
But when I try to transfer a waveform, I only get the first ~505 samples.
This happens no matter how the data is displayed on the screen.
The last sample I get has all the index, time, and data value information. So I don't think the read is being prematurely truncated.

I have tried changing timeout and buffer sizes in my program.
I am using Microsoft Visual C++ routines CreateFile, SetCommState, SetCommTimeouts, WaitCommEvent, and ReadFile functions.

Do you have any suggestions on what I might be doing wrong?

I have seen indications online that others are able to read the entire 1024 sample data buffer.

Thanks
Bill Boyer

Re: DSO Shell only transmits first half of waveform

Posted: Mon Jan 21, 2019 5:04 pm
by jye1
It is suggested to use another tool to capture the data and see if it is complete. For example, this is one we frequently use http://www.jyetech.com/Support/teraterm-4.80.exe .

Re: DSO Shell only transmits first half of waveform

Posted: Mon Jan 21, 2019 7:06 pm
by wbbnm
I had adapted my code from an example I found online. This code read the data byte-by-byte with calls to ReadFile.

I changed the code to read the entire buffer in one call. This works. So I am okay now.

I don't know why the first method didn't work. I could imagine a timing problem with the repeated reads.
But I was getting all the first half of the waveform with nothing missing as far as I could tell.