So since there is no telnet on the DS2000 series I searched around and found vxi11 by a fellow forum member alex.forencich and I modified the script to use that instead.
Do not jump with joy yet because the DS2000 series seems to be transferring data at 56Kbps via the Ethernet port (the old Kbps as in 1024 bps). Since the DS2000 only saves as a BMP 800x480x3 plus the BMP header 1152067 bytes, the total transfer size is 9216536 bits.
Divided by 57344 bps is equal to ~161 seconds.
So it takes 2 minutes and 41 seconds to transfer the screen. No wonder others using USB have faster transfer times. Haven't found a way to speed the Ethernet port or change it to png or jpeg (other than converting the screenshot later on to png or jpeg)
__author__ = 'RoGeorge'
#
# Modified to work with DS2000 by miguelvp
# using vxi11 by Alex Forencich and Michael Walle
# [url]https://github.com/alexforencich/python-vxi11[/url]
#
import vxi11
import time
import sys
import os
# Update the next lines for your own default settings:
path_to_save = ""
IP_DS2000 = "192.168.1.6"
expected_len = 1152067
TMC_header_len = 11
terminator_len = 2
company = 0
model = 1
serial = 2
# Check parameters
script_name = os.path.basename(sys.argv[0])
# Print usage
print
print "Usage:"
print " " + script_name
print
print "This program capture the image displayed"
print " by a Rigol DS2000 series oscilloscope, then save it on the computer"
print " as a BMP file with a timestamp in the file name."
print
print " The program is using LXI protocol, so the computer"
print " must have LAN connection with the oscilloscope."
print " USB and/or GPIB connections are not used by this software."
print
print " No VISA, IVI or Rigol drivers are needed."
print
# Create/check if 'path' exists
# Check network response (ping)
response = os.system("ping -n 1 " + IP_DS2000 + " > nul")
if response != 0:
print
print "No response pinging " + IP_DS2000
print "Check network cables and settings."
print "You should be able to ping the oscilloscope."
# Open a modified VXI11 session
instr = vxi11.Instrument(IP_DS2000)
instrument_id = instr.ask("*IDN?")
# Check if instrument is set to accept LAN commands
if instrument_id == "command error":
print instrument_id
print "Check the oscilloscope settings."
print "Utility -> IO Setting -> RemoteIO -> LAN must be ON"
sys.exit("ERROR")
# Check if instrument is indeed a Rigol DS2000 series
id_fields = instrument_id.split(",")
if (id_fields[company] != "RIGOL TECHNOLOGIES") or \
(id_fields[model][:3] != "DS2"):
print
print "ERROR: No Rigol from series DS2000 found at ", IP_DS2000
sys.exit("ERROR")
print "Instrument ID:"
print instrument_id
# Prepare filename as C:\MODEL_YYYY-MM-DD_HH.MM.SS
timestamp = time.strftime("%Y-%m-%d_%H.%M.%S", time.localtime())
filename = path_to_save + id_fields[model] + "_" + timestamp
# Ask for an oscilloscope display print screen
print "Receiving..."
buff = instr.ask_raw("display:data?", expected_len)
print "Processing..."
# Strip TMC Blockheader and terminator bytes
buff = buff[TMC_header_len:-terminator_len]
# Save as BMP
scr_file = open(filename + ".bmp", "wb")
scr_file.write(buff)
scr_file.close()
print "Saved file:", filename + ".bmp"
instr.close()
Here is the screenshot after I used paintshop pro to convert it from the huge bmp to just an 18KB png picture.
@bingo, how fast is the screen capture on the DS1000z scope? I would think that because it supports png it's probably about 5.5 seconds to transfer a 37KB file already in png format but still transferring data at a mere 57344 bps
Edit: yeah, I had the ratio set to just 1X not sure why, so that's really 3Vpp.
Apologies for the slight OT, but curious if the Ethernet speed is the same via telnet as it's with LXI