But the minimum length of a sample set is 8 samples. So the fastest rate at which you can play an 8-sample set is 9.375MHz.
It will go down to 2 even though the documentation says 8. I didn't test this with loading a CSV file, but a BIN file.
It will also autoscale a CSV file, so if the maximum value given is -1 to +1, it will scale those to the lowest value to the highest value. The amplitude will actually be driven by the amplitude setting.
I used 9 points so that I could create a symmetrical waveform with no discontinuities where the sample set repeats.
This is necessary for the DDS mode because the final sample does not get a time slot like the TrueArb mode does.
In TrueArb mode if you have 4 samples, sample 0, 1, 2, and 3 will have the same amount of time each is "played" at the sample rate.
In DDS mode, if you have 4 samples, sample 0 is the left edge and sample 3 is the right edge of the waveform. DDS mode interpolates between samples. What you have then is a time slot assigned to sample 0-1, 1-2, and finally 2-3. This is why you want sample 3 to be the same as sample 0. Otherwise it will end at 3 and then instantly SNAP to sample 0. There is no time slot assigned to sample 3-0.
I've noticed that TrueArb seems to add a short 0V segment at each sample-set repeat point. I've also noticed that DDS and TruArb produce distinctly different waveforms, and I'm still trying to figure out what's going on.
They are completely different, one interpolates a waveform and the other plays samples.
By the way, you can load CSV files of your own samples without having to use or make them with EasyWave. Just use this format:
data length,8
xpos,value
,1
,-1
,1
,-1
,1
,-1
,1
,-1
In this case 1 being the highest value will be scaled to the maximum and -1 being the lowest value will be scaled to the minimum.
What the generator does with this file is turns it into this binary file (see picture)
It is a simple 2 byte signed integer array. FF 7F 00 80 --> 0x7FFF (highest value from the "1") followed by 0x8000 (lowest value from the -1). 0x0000 would be the center.
You can load binary files directly from a USB stick though they will not be copied to the internal drive.
I was very impressed with the arbitrary wave testing I did on the Siglent. It excels at generating waveforms with its interpolating DDS mode, and you can use its TrueArb mode with deep memory to deliver 8M samples at the sample rate you choose. That means you could send 8M/10=838860 8-bit UART frames (1 start, 8 data, 1 stop) using TrueArb!