Yes, the client and the "Sump" VHDL core do allow you to select 8, 16, 24, or 32 channels. With custom bitstreams it is possible to extend the sample depth for fewer channels. I had made bitstreams for:
-24k samples x 8 channels
-12k samples x 16 channels
-6k samples x 32 channels
But what I found once I started testing with waveforms is that the design, as it is, requires that the size of memory be a power of 2. So the non power of two memory sizes above had holes in the data.
So for now I'm going to generate bitstreams with the following memory sizes:
-16k samples x 8 channels
-8k samples x 16 channels
-4k samples x 32 channels
I'm going to put modifying the VHDL code to support the full memory sizes on a backburner for now. For now I think its more important to work with Ian on finishing up all the things we need to do in order to get these boards up for sale at Seeed Studio by the end of the month.
The RLE encoding is included in both the "Sump" VHDL core and the Java client that I am working with. It does indeed make a difference in testing.
I've had the same problems that you had debugging i2c and uart protocols with limited memory. RLE and more memory helps but I think the best solution will come once we integrate a SPI slave core into the design. Once the communication between the FPGA and the microcontroller is on the higher speed SPI channel then we will be limited by the USB speed and will be able to start bypassing the BRAM memory. I'm not sure what speeds will be practical to sample in realtime but I'm sure that i2c and uart speeds will be very easy to send directly out over the USB port for unlimited sampling sizes.