Hi all, I have been using the Logic MSO for a bit over a month now and have some comments/ideas I’d like to share.
- I know there is supposedly going to be proper math-channel support added in the future; one thing I feel may complement the use-case of two channels acting as a differential-pair would be to designate them as such in the GUI and have matched/linked controls of the signals (i.e. if one is changed in scaling/offset also scale/offset the other to match). A special symbol in the waveform tabs/info-bar could help indicate this mode is active on the channel and perhaps color-code to show which channel it is linked with.
- In a similar mindset and just a general quality-of-life feature I personally would appreciate is an option to “lock” the scroll-wheel and mouse adjustments in the waveform view on making vertical scale/offset adjustments. I have many times accidentally changed a channel’s scaling by careless hovering over the voltage-scale (the translucent bars) and intending to use the scroll wheel to zoom in but instead causing the scaling to change. Or accidently intending to pan the waveforms horizontally, but moving up/down and changing the offset. A lock function that prevents manipulation of these seems sensible to me (I know about the “Fixed Range” function, and this is a great feature, but fills a different and probably more important need in general). (Or maybe key-binding reconfiguration would also solve this)
- Are there plans to support the MSO using the other Logic2 API? Or plans on the MSO API to support a case where you want to keep the Logic software open so that you may continue to interact/adjust the settings there and have a simple way for scripts to trigger an export process to grab the MSO data for post processing?
- Maybe this functionality already exists, and I have not dug into the APIs sufficiently yet.
Possible bugs
- This might already be well known, but I have seen what seems to be rogue/runaway memory usage in the logic analyzer decoding. This may be due to the logic analyzer plugins that may fall behind on processing data, but the analog waveforms already reached the memory limits. If this is what is happening, I am wondering if there could be a dual memory/pool limit defined, one specifically for analog waveform data and one for the logic analyzer decodes. Anyways it’s not a huge issue, but it does happen frequently enough, that I hope Saleae is already working on solutions/thinking about the best way to handle whatever is going on here.
- I have been playing around with the MSO API and one thing I noticed is that there seems to be an incompatibility between using the “mso_api.Capture.from_dir()” on a binary-capture that was saved manually via the GUI. It seems like a trivial bug where all I need to do is rename the expected files to remove any prefix in the filename that the GUI enforces (obviously the MSO API should probably support the user-specified filename prefixes). For example, if I click Menu->File->“Export Raw Data”, and click “Binary”, and then “Export”, it requests a filename (base name of the file). If I enter “a”, then this produces files such as: “a_analog_0.bin”, “a_analog_1.bin”. If I then try to load these files using the “mso_api.Capture.from_dir()” it will fail to load. Renaming these to “analog_0.bin”, “analog_1.bin” and everything works just fine.