Is direct access to the memory buffer of a Siglent 1104X-E possible? - Page 1
Forum section: electronics / testgear

author: alphaphoenix
author_rank: Newbie
timestamp: April 03, 2025, 12:04:34 am
content: I see a lot of posts about "Hacked" oscilloscopes, and I've tried the googles, chatgpt, and emailing siglent directly, but I haven't been able to figure out how to move multiple traces saved in history from the oscilloscope to a computer at the same time. I have a project that requires a huge pile of individual traces to be captured and saved, but each trace is very short, and the overhead is a killer on throughput. Right now I'm using SCPI commands in python to enter sequence history mode, change the frame number, then download the data, then change the frame number, then download the data, etc. Each trace is only a few hundred bytes long, I just want to be able to move tens of thousands of them in a few seconds instead of minutes.Playing with the length of the traces, it looks like the time to move a byte bottoms out with large traces (as to be expected), and sending data in "bulk" is about 30x faster than moving my tiny 200-700 byte traces one at a time. From everything I've read, it seems like the scope is just chopping up its internal memory and the actual "frames" are just stores as one big appended list of data. This appended mega-waveform would be FANTASTIC to access and ship to a computer via LAN or USB all at once. Does anybody know if this is possible?Thanks!

author: tautech
author_rank: Super Contributor
timestamp: April 03, 2025, 12:31:57 am
content: Welcome to the forum.What file type have you been downloading ?CSV, BMP or PNG ?CSV files downloads are known to be large and slow.Have you tried downloading the smaller BIN files and using the BINtoCSV utility available for download from the scope from within the Save/Recall menu ?

author: alphaphoenix
author_rank: Newbie
timestamp: April 03, 2025, 03:51:39 am
content: Thanks! many time reader, first time poster lol.I've been pulling data direct with SCPI commands. abbreviated, something like this:for frame in range(1, num_frames + 1):osc.write(f"FRAM {frame}") # Select sequence frameosc.write("C1:SEQ:WF? DAT2") # Request waveform data for Channel 1raw_data = osc.read_raw()I can get a frame in about 8ms if I don't use sequence mode and just take whatever frame is on the screen that very instant in continuous triggering, but I feel like there should be a way to accelerate the process with sequence mode. The code above takes over 100ms to get each frame of a sequence, but it's fast again if you don't SWITCH frames and just keep reading the same one, so I think it's not the motion of the data from scope to computer, but the scope actually opening/displaying a new frame that's the bottleneck. (and then the transfer overhead for small frames would be the NEXT bottleneck, and that one should be worth 30x)Thank you!

author: 2N3055
author_rank: Super Contributor
timestamp: April 03, 2025, 06:03:04 am
content: AFAIK,SDS1000X-E scope line does not support bulk load of data from all segments.I do not think that this mature line will get full rewrite of SCPI software part at this part of it's lifetime.For that functionality an upgrade to new SDS800xHD 12bit series would be needed. All of the new touch series support this.They support :WAVeform:SEQuence command, where you can set number of segments and starting offset. If you set number of segments to 0, you get all of the segments in one burst.That one will also be a bit faster in data transfer, having much faster processor and platform.Best,Siniša

author: newbrain
author_rank: Super Contributor
timestamp: April 03, 2025, 07:38:47 am
content: Welcome to the forum!OT, and I can provide no help on the specific question, but I have to ask:Are you alphaphoenix as inthatAlpha Phoenix?If so, love your videos (and wonder what you are preparing...)!

author: Fungus
author_rank: Super Contributor
timestamp: April 03, 2025, 08:02:08 am
content: Siglent SCPI is fundamentally broken:https://www.eevblog.com/forum/testgear/scpi-best-practices/msg5744843/#msg5744843So they obviously don't think it's an important feature of their devices.

author: 2N3055
author_rank: Super Contributor
timestamp: April 03, 2025, 09:08:57 am
content: Quote from: Fungus on April 03, 2025, 08:02:08 amYou are utterly unqualified to discuss SCPI implementation on any Siglent device as a person that never owned a single piece of Siglent equipment.And, again, your understanding of that command that is discussed there is still, also, fundamentally broken. It has been explained to you manyfold.That particular command does not do what you think it does, and is not mandatory as you think it is. It is not needed if program asking questions is well written. Nor there are any problems with something Siglent did, but with a fact that SCPI is not very simple and intuitive as people think it is, beyond some basic commands. Issuing out of order, asynchronous, commands to separate device that may take random time to respond get will complicated quickly.Likewise here, there is no problem. That particular scope OP asked about does not have specific command to download memory captured as segments as single chunk. That is not a bug, it simply does not have that feature and that is documented in programing manual.Like I said, new Siglents support what OP asked for. Command was added.Instead of poking your nose where it does not belong, talking about stuff you don't understand better go do your homework.A question you should better ask yourself is does your bellowed Rigol DHO800 support download of segmented captures of any sort?Answer is, no it does not, not even a 15000 € MHO/DHO5000 does not.....They simply don't have that command, same as now 10 years old Siglent from previous generation of 1000 devices line.Wow what a fail for Siglent, really...

author: Fungus
author_rank: Super Contributor
timestamp: April 03, 2025, 10:38:07 am
content: Quote from: 2N3055 on April 03, 2025, 09:08:57 amRef:https://www.eevblog.com/forum/testgear/scpi-commands-on-siglent-scope/My only comment was that Siglent doesn't seem to proritize SCPI, not whether it has a particular command or not.

author: 2N3055
author_rank: Super Contributor
timestamp: April 03, 2025, 10:44:45 am
content: Quote from: Fungus on April 03, 2025, 10:19:43 amSo you take other people confusion, confuse it with your own confusion and than make completely unrelated conclusions based upon that cloud of entropy and chaos... While all the time making the face like it has some meaning, and not just any meaning, but agenda you trying to prove...Goebbels would be proud of you...And now STEM homework for you:Explain how poling the Standard Event Status Register is problem when person asked if there is some other command.In real life poling ESR is not needed. You will know scope is done when it responds, and also OPC command responds with 1 when scope is done.In that other topic you keep linking, problem is not with not being able to see if scope is done. Problem is that when you are directly connecting to scope with TCP sockets from python you don't have knowledge when buffer received the data.That is reason to use NI-VISA layer because it handles buffering an callbacks for you..Or explain how Siglent not implementing optional command is a "broken implementation" and Rigol not implementing a command at all (in it's latest version of scopes) to download segmented data is not also "broken implementation" .

author: 2N3055
author_rank: Super Contributor
timestamp: April 03, 2025, 11:39:36 am
content: Quote from: Fungus on April 03, 2025, 10:38:07 amThat is just your, slightly biased, opinion.There are many devices that will process commands out of order.That is sometimes useful.It is programmers responsibility to serialize request/response.Rigol executes only serialized commands.Make note I didn't say, ever, that Rigol way of executing command is wrong.Neither is wrong. Those are two different types of execution. Both are IEEE488.2 compliant.It actually applies universally to any client/server environment, any multithreading environment, where you ask questions to external process/device and have to wait for response.Do you ask, block and wait, or you ask, setup callback, exit and do something else. Callback then detects response and calls processing of data.Ask, block, wait and process sequentially is simpler. That is absolutely true.But is sometimes not prefered.Ideally, all devices would support both modes. In practice, some do one, some do second and some do both.OTOH, I don't know about older devices I don't have, but i do know 800xHD and 6000A does support *ESR?:*ESKL (garbage)Command send success*ESR?32IEEE488.2 defines: (Command Error (CME) 32 A command error (command syntax error)has occurred.)To command *WAI it also responds without error. That is a command that should force serialized execution of commands.Like Rigols do. I did not test it yet though, so I cannot attest how it works. But it is there.Make note that Rigol in documentation says about *WAI command :RemarksThis operation command does not have any functions, only to be compatible withother devices.Which makes perfect sense because that is only way it operates...So to conclude, Siglent is actively working on making SCPI better on newer devices, and from what I can test it is, if anything, becoming more complete than Rigol one. It seems that new devices support both sync/async mode via *WAI , *OPC? command and *ESR? command.So your statements that SCPI is flawed is not correct (because even in SDS1000X-E it is fully featured implementation that allowed you to use it if you know how (even if not that easy). Saying that "Siglent doesn't seem to proritize SCPI" is just not true either, because on new devices Siglent implemented even more complex implementation than Rigol. That means they do listen and they do improve all the time. Which is quite the opposite of that other manufacturer you like so much. Even people working for Rigol are frustrated sometimes.What Siglent needs to do is to update documentation on this. This is something that is lagging a bit. OTOH that is because speed with which they develop new stuff and enrich platform is such it is hard to keep up with... But I would like if documentation would have less delay....See, it is not all perfect with Siglent.... But as they improve constantly in all areas, I presume this will improve with time too....

author: alphaphoenix
author_rank: Newbie
timestamp: April 03, 2025, 02:11:24 pm
content: Thanks for the unfortunate news. I really didn't want to get a new scope for this but that may be necessary. it's really annoying to spend $800 for what's probably like 10 lines of code in the firmware. I was really hopeful that someone here had cracked the firmware so I could write my own scpi function for full a full buffer dump, but I've never tried to modify firmware like that and it sounds really really tedious (if even possible).@newbrain yep that's me - i'm working on the upgraded version of the lightspeed camera from two videos ago. If I was able to dump the entire memory buffer over LAN (which takes about 2.5 seconds), I could scan a line in sequence mode, capturing 10000 1400-point waveforms in a second, and move the data back to the computer while the mirror rotates back to the start. With my current equipment, that would let me record a FHD video 1.4us long in under an hour, even with 5x averaging. without moving the whole buffer at once, that same 1920x1080x5 dataset would take 28 hours to move from the scope to the computer lol. one of those is possible - the other isn'tThanks!

author: 2N3055
author_rank: Super Contributor
timestamp: April 03, 2025, 02:50:25 pm
content: Quote from: alphaphoenix on April 03, 2025, 02:11:24 pmI am sorry to be the bearer of the bad news.But it is not so bad. Your existing scope can still be sold for 100-200USD (if you are lucky), and very good little (very similar case to it's older brother) SDS804xHD can be had brand new for 450 USD..New scope has much faster processor, it also can map network shares, 4 math channels with arbitrary formula math, it is 12 bit etc etc. It is very big upgrade.And since youarethe Alphaphoenix let me just echo what Newbrain said. Your videos are awesome. I am subscribed, and only wish you could post more often...If that doesn't clash with your ethical code, maybe contact Siglent USA and see if they would be willing to upgrade you to a new scope....Unlike many others that get equipment for opening the box video, you actually use scope in your videos all the time and for real measurements..