Windows 11 and Saleae Logic 1.2.29

I know this version is probably not a priority for Saleae to support, but I am wondering if anyone else has run into issues running this version on Windows 11. To be clear the software by itself seems to work just fine. However, right about the time the Saleae Logic finishes transferring the FPGA bitfile to the hardware it appears to crash.

Interestingly enough, I went ahead and tried running this version on WSLg, attached the USB interface via usbipd.exe and presto the Logic software and hardware works under WSLg and is quite responsive (with a bit of UI quirkiness of course).

Anyways this is an ok workaround if there is no way to resolve this issue. But it would be nice if there was a solution to the issue.

@Jonathan I take back my previous message in case you read it, which referred to the newer Logic 2 app. I completely missed that you were using the older Logic 1.2.29! Sorry about that. I’m glad you have a workaround for it.

Unfortunately, Win11 was not yet officially released back when we released Logic 1.2.29, and therefore, we haven’t verified nor can we guarantee that it would run without any issues. Our officially supported operating systems for Logic 1.x are listed below (Win10 being the latest version of Windows that is supported).

Is there a particular reason you are continuing to use the older Logic 1.x software? A common reason is typically due to Logic 1.x supporting automation.

Hi @timreyes,

Thank you for the response and no need to apologize for this issue. =)

I am fully aware of the timeline of Saleae logic v1 and Windows 11. I have been using Saleae logic since the very first Logic 8 and the even older Windows 7 Aero style GUI that predated the QT-based GUI; I own the Logic 8, Logic 16, and Logic 16 Pro; if a Logic 32 Pro existed, I might be tempted to get that too =P. I was merely asking if anyone has encountered this issue, or if it might have been an issue on my end. Or maybe someone found a more elegant solution.

The reason why I need/want this older version is that I have a fairly complex plugin (See the wiki page if you want to see more on what the plugin does):
GitHub - hms-networks/AbccSpiAnalyzer

And this plugin is based on an even more complex SPI device (most SPI devices we see day-to-day are extremely simple in comparison). If curious, this is the documentation page for the starterkit of the product which targets a lot of different industrial protocols and communication technologies:
Anybus CompactCom Starter Kit

The “hardware design guide” covers the basics of the different embedded communication interfaces supported, while the “software design guides” and “network guides” cover the SPI packet’s (data) fields and object model that is used in this communication.

I have not looked too closely at the V2 releases as of late to re-evaluate my position on this topic. But last I knew the following features of my plugin were not supported in V2 (I have posted about these in several threads here during the early (pre-)release builds of V2):

  • Exporting frames to custom CSV formats that are optimized for certain focus points / development workflows.
  • Simulation mode, which is used to help with test and verification of the plugin logic. This also has a feature which allows a specifically formatted log file (taken from devices running this protocol) to be reproduced to help with decoding the data that otherwise would just be a sequence of HEX bytes instead of enumerated values.

On top of these, I use a behavior of V1 which I have been told on several occasions is not actually supported by Saleae and it “just happens to work”. Basically, I submit two separate sequences of frames, one sequence for MISO and another for MOSI. This allows for more precise framing of the underlying protocol (instead of having the word size fixed) that this plugin is based on. Below is an image that shows this behavior. Notice the CRC frames are not aligned to one another and that there are frame lengths of different sizes 1-byte frames, 2-byte frames, and 4-byte frames, all sized to match the underlying SPI packet’s data fields. This representation is much clearer from a readability standpoint than using say a 2-byte word size and splitting up the CRC32’s into halves.

I decided to forego this warning years ago when I first started development of this plugin since in my eyes the improved user experience/readability was/is worth the potential risk of future incompatibilities (I stand by this decision still).

If V2 is not feature complete with what was available in V1 it is a hard sell for me to want to migrate to a lesser experience for this plugin. Do not get me wrong, I really like the HLA component of V2, but V1 still has legitimate reasons for it being considered a better option in some cases. One other general reason I like V1 is it just overall feels snappier and more performant than V2. I cannot say I have tried a comparison lately to know if this has changed, but I recall earlier on, V2 could not keep up with high data rates as well as V1 which, to me, can be quite important.

@Jonathan Thanks for detailing all of this for me! You bring up some good points.

  • Exporting frames to custom CSV formats that are optimized for certain focus points / development workflows.

You’re right. This is currently not supported in Logic 2. We’re actually tallying up interest in this below. Feel free to add your vote to it. There’s a handful of users that I’ve taken note of that continue using the older Logic 1.x software for this very same reason.

As for simulation mode support, the Logic 2 app has support for generating analyzer-specific simulation data. We haven’t extensively tested it yet, and therefore, have not included it enabled by default, but you can enable it via a command line flag as per the instructions below. Though, given that we don’t support custom export formats, I understand that you’d likely still prefer sticking to Logic 1.x.

I’m quite surprised at your comment below. I’m hoping that we’ve improved the Logic 2 app’s performance since you last tested it. I’d be pretty curious to understand the nitty gritty details behind some of the performance issues you ran into, and if that still exists in the latest version of Logic 2.

One other general reason I like V1 is it just overall feels snappier and more performant than V2. I cannot say I have tried a comparison lately to know if this has changed, but I recall earlier on, V2 could not keep up with high data rates as well as V1 which, to me, can be quite important.

Hi @timreyes,

“Snappier” probably was not the right term for what I am perceiving (certainly V2’s resizing is smoother, at least in Windows). I think part of my perception of this was attributed to the scroll wheel sensitivity. With V2 is takes much more scrolling to zoom into a reasonable timescale (feature idea for v2: add a user setting to specify how much to zoom-in/out per scroll event). But I think there is more to my perception than just this which I might try to describe later.

Anyways, my main reason for posting right now is that I just noticed that your site mentioned a release of v1.2.40 and this version appears to have resolved the issue I described above. That said, it seems this version does not show the “decoded protocols” subwindow. Is this intentional, or a bug?

It was an unfortunate side effect of updating so many of the libraries in Logic 1.x to get it building again. 1.2.40 exists primarily to support customers who rely on our automation API, which has no modern replacement yet. In the process, I could not get the protocol search table working properly, and decided to just remove it instead, since it was never exposed to the automation interface.

@markgarrison,
That is a bit unfortunate, but it is understandable.