I edited my post clarifying that it is 3000 Bytes. I couldn't find a way for SDS1104X-E to list packets or frames instead of bytes on SPI decode list... MOSI (or MISO) shows bytes in the list. The SPI packets are framed by ~CS and range from 1 to 8 bytes, but it is not shown by SDS1104X-E... I might be missing something but I am sure I checked all the options in the menu.
OK, thanks, didn't noticed that. Nonetheless, 3000 bytes its worse than 3000 events and with so much memory available...
Yes it is bit low. But other side is our enemy, refresh time. So it is compromize between many things. But still it is low.
Example with IIC it have limit 1000. But every message, event, how we name it, can have example 32 bytes. So this limit is 1000 pcs max 32 byte messages.
I have never tested SPI and I'm now bit surpricced it do not handle these as frames
Example with IIC there is even possible to select "long" data window to list, what show selected list row long data (list row itself have not room for long data).
But then we need, I think, handle also this.
It won't be any worst than what Siglent is doing in the SDS1004X-E by decoding the first 3000 events and the trigger may not even be present (in that group).
This is but more complex thing because oscilloscope need work some way, But users do so many different things with scope that if make one satisfied then other is unsatisfied, until there is some configuration table where user can define how he want it works.
Perhaps whole this (last guoted) thing is better handle in some other place using many different approach directions and landing angles.
It need remember that trigger can be what ever trig and it is not forced to married with serial decode at all. Perhaps I get some signal from system, pulse or what ever what I want produce trig and then I want see what happen in system after trig but also before trig. Of course it can be serial data etc what produce trig but it canm also be many other things. When trigger happen, what ever it is, it is important to keep all captured data tightly at these time positions related to trigger what have been case when acquisition happen. This must nearly never break.
But why user want position trigger to center of acquisition memory. It is fully in user hand and he can set trigger position how he need and want. So, if user know how to use oscilloscope he can set it as he need. No need follow factory defaults at all.
If user want trigger is beginning of acquisition memory then he need himself set it to beginning of acquisition memory. No other one do it for him, also oscilloscope do not think he set it or move things to more near or around trigger because user forget to set it as he need. Of course scope can guess what is important for user and "he" know what user is doing? My opinion is that I am Master and scope is Slave until it is more wise than I. But how I know it is more wise than I. Perhaps I need ask scope.
If I select horizontal for 1ms/div and need trigger is start of memory why not move it to this point. User know what he newed - mostly - or if user do not know what he need perhaps then need first think what need and then, after then, do it.
If set trigger to left side of screen (7div left from center) it is then just beginning of memory. With Siglent user know when scope is running memory begin exactly left border and end right border of screen signal area. No overlap. So it is also easy.
When trigger is in wanted position user can also FIX it to this position (fix to display position is functinally same as fix ti capture memory position (because display signal area x is exactly length of current memory length when scope is run mode or not zoomed). So, that if example stop scope and zoom in this trigger position is fixed and more zoom his display range is more and more near trigger position. (factory default is that trigger position is fixed delay related to display center. And if this default is in use and user have moved trigger off from center. After then if he change time base (in run mode or stopped for zoom this trigger position move on display but he zoom more and more in and position is center of memory.
In this case what what TK show stopped 1ms/div and then zoom in to 200ns/div. If he have set trigger to example beginning of memory and changed in Utility menu "reference pos" for "Horizontal Fixed Pos".
(!) Now wit this setup if he stop scope same way and there in beginning of memory is this decoded part. Then he zoom in using t/div -- after enough zoom in, he do not see undecoded part of signal. He dive inside decoded part.
With poor language this is pain to try explain and leads esy to misunderstanding.
Also with this system perhaps user need first unlearn some of other scope handling habits and later his muscle memory start follow new habits and then less problems.
But now there is "one" bad thing. Perhaps some programmer in Siglent have not enough knowledge and experience about doing works with scopes in real world. It can not explain other way how they have implemented oscilloscope windowed zoom. Or then it is accidental bug. Before they correct it it may confuse users very badly, specially after users start using more this trigger fixed position set up. When user meet this what happen he may think whole feature is useless crap. If understand this error, with it can live but still it is confusing and really not nice. Problem is how they position zoomed area in upper window and how they handle displayed trigger position delay / zoomed window delay. This is perhaps one reason why users now do not use this scope with some advanced settings or mode of operation.
Of course all can design different, UI logic can be different, all can be different. But it need remember, there is thousands of different needs, different cases what we do with scope and so on. Including also that trigger can come from Grandmother's Cuckoo Clock in Ch 2 and signal is perhaps CH1 UART and CH 3 from motor speed and 4 from seismograph. So, why one want when stop scope and then zoom in, then it jumps to decoded part of memory - why it did not jump to seismograph position where happen something because just for me it is more important, even when I have turned decode also on. Repeating: User is Master and scope need stay as Sub. Now and yesterday, tomorrow is fully unknown.