Hi everyone,
Just a heads up to anyone thinking of purchase a rigol (I have a DG1022 and a DS1054Z, both have the same problems) to use it in some sort of automation context: the rigol implementation of the USBTMC class is not standard, to the point where the linux kernel has a communication mode specifically for rigol devices (and it still doesn't fully work). It regularly misinforms the host about how much data it has to send, and there is a non-deterministic dead-time after sending a command in which new commands are just ignored (this isn't documented anywhere). There is also no way to tell if your command has been ignored other than the scope does not respond.
There also seems to be a "bug" (it's not really a bug so much, it just simply doesn't work) in the RAW waveform readout in which it just sends you back random garbage. I'm pretty sure it's not my implementation (and I've tried it using the supported NI-VISA; same result), because if I set it to NORMAL it works just fine, but in NORMAL mode you only get a maximum of 1.2kpts of waveform. I've sent an email to rigol support about this, but I'm not sure what sort of response I'm going to get.
I'd honestly fix these problems myself if someone would just release an open source USB oscilloscope already (no screen, no buttons, just two BNCs and a USB connector please!)