Python measurement extensions!
You can now easily build your own measurements for both analog and digital data with only a few lines of code. Check out the documentation here.
Added built-in measurement extensions for clock stats and analog voltage RMS.
High-level analyzer extensions API now supports user settings.
All dialogs in the application can now be dragged.
Traces color now match the channel color by default.
Bug Fixes:
Error reporting initialization
Internal error when removing analyzers automatically.
Occasionally the add analyzer menu would be empty.
The UI now reliably detects when backlogged capture processing is complete
Internal crash on Linux in serialization
Crash caused by high-level analyzer initialization error
Analyzers could cause a crash during live-view mode
With 2.2.9, I’m still seeing the “eventually UI lockup” bug that I did with 2.2.8 when letting captures run for a long(ish) period of time. It seems that trigger (digital, analog, or none) doesn’t matter. Simply letting Logic capture for 15-30 minutes will cause the UI to become unresponsive, as well as stop displaying new data. I’m hoping your’re able to reproduce this issue as well. Four digital, two analog channels turned on. Capturing at 6.25MS/s and 1.5MS/s respectively. Looping mode, with 0.5GB of memory buffer size on a Logic Pro 16. Let her rip for a while and you’ll get things slowing down and eventually stopping.
When running a custom analyzer on a large amount of data Logic still crashes - same issue as in prior versions. I had 60 seconds of SDIO recorded at 125 MS/s and the the custom analyzer only got about 10% done before Logic crashed.
Do the Python extensions only concern measurement, or do they also embrace data export?
The standard data export for protocols like I²C, SPI or UART generates a file with one byte sent or received per line. I would like to have one frame with all the related bytes per line instead.
Is it possible to use Python extensions to achieve that specific data export?
Regarding your use-case, you would probably want to start with a High Level Analyzer (HLA), which can process data from i2c, SPI, and Async Serial analyzers. Although we don’t specifically support exporting data from an HLA right now, you have the full power of Python within an HLA. Knowing that, you could write to a file directly from your HLA to get the data you want.
Hope that helps, and let me know if you have any questions!
Thanks for all your work, the 2.x releases keep getting better and better! I’m now using them essentially full time, but I keep hitting a bug I can’t see reported elsewhere.
I’m on Linux (Ubuntu 18.04), device is a Pro 16. At some point while moving the mouse over a logic trace, most of the application GUI vanishes, leaving just the title bar and a grey background. There’s no new entry printed to the console when this happens, and nothing I can do seems to bring it back. The title bar menus are responsive but most entries are disabled:
I can’t narrow down exactly what causes the behaviour. It only occurs while mousing over a trace when I might usually expect a timing measurement to be drawn, but most of the time those work fine. I’m happy to try and get more information if there’s anything I can do to help narrow down the cause.
First of all, happy to hear that you can use the app full time now!
We’d love to look into this bug ASAP. If you can share with us your machine ID, that would be helpful (you can find it in Main Main -> Device Selector -> Question mark on the bottom left.
We believe that we’ve found the issue - it might be the analyzer results tooltip (we’re using a 3rd party library for that), and probably when its text is too long…
Rani, No, it doesn’t seem to, because no memory is used when I just have digital channels enabled. (I’ve had it running for over an hour now, and it still says 0 MB.) It’s not slowing down or stopping either.
Am I trying to do something that’s not supported? Is letting it run for a long time (hours/days/weeks) not going to be something that Logic can do? I want to find a different tool for this particular test if that’s the case (which is totally cool - I don’t have an expectations that this will be a supported use case for Logic)