rigol-ds: Add DS1000Z series support.
authorMartin Ling <martin-git@earth.li>
Thu, 19 Mar 2015 16:15:52 +0000 (16:15 +0000)
committerUwe Hermann <uwe@hermann-uwe.de>
Sat, 21 Mar 2015 00:55:55 +0000 (01:55 +0100)
commit702f42e8eb33d8d1ffb5b748097428c0f4434c6d
tree9a8f6953dc92c33ae46aaad424dbb7c2a664a174
parentc36f78f7728e8b5263bed440530a61caa6e30a26
rigol-ds: Add DS1000Z series support.

Tested on an MSO1104Z with firmware 00.04.02.SP4.

The analog channels are captured correctly. For the MSO series, with digital
channels, there are two outstanding issues:

1. Logic data is retrieved per-channel, one byte per sample, with the value
   in the LSB of each byte. The current datafeed logic format doesn't allow
   this format to be passed on directly. I suggest we resolve that rather than
   making the driver buffer and interleave the data.

   As stands, the code will retrieve data for all channels and pass it onto
   the datafeed with unitsize=1. Channel D0 can used correctly if selected
   alone. For other channels, data is passed to the frontend but the API does
   not provide a way to associate it with the correct channel.

2. Channels CH3 and CH4 are multiplexed with D0-7 and D8-15 respectively, so
   enabling these is mutually exclusive. We don't currently have a way to
   express this constraint to the frontend.
src/hardware/rigol-ds/api.c
src/hardware/rigol-ds/protocol.c
src/hardware/rigol-ds/protocol.h