added code to handle rigol quirks in read_raw #18

Merged
merged 1 commit into from Jan 6, 2016

Conversation

Projects
None yet
2 participants
@jeremyherbert
Contributor

jeremyherbert commented Jul 27, 2015

Unfortunately, the Rigol implementation of the USBTMC spec is, uh, unique. The following problems exist (based on my own observations and looking at the linux kernel usbtmc driver):

  1. The USBTMC header only comes with the first packet
  2. If you resend the dev_dep_msg_in header, you restart the transaction from the beginning
  3. The USBTMC header always has the end of message bit set, even if it isn't the end of the message
  4. The USBTMC header will only list a maximum transfer size of 500, regardless of whether there are more than 500 bytes to transfer. This is almost always true when an IEEE 488.2 block is involved.

I honestly don't know how they messed this up so badly.

This PR should allow Rigol devices to function with python-usbtmc by working around these problems. I tested it with my Rigol DS1104Z.

@alexforencich alexforencich merged commit b19ef5d into python-ivi:master Jan 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment