"Socket API automation utility requires the older Logic 1.x software: This means that we couldn’t use python Saleaelibraryforlogic 2.xv?"
"As part of this effort, I'm writing a series of unit tests which are being integrated into a hardware test rack and run as part of CI. Everything needs to be automated, so I'm having to make due with the Logic 1.2.29 GUI along with several associated race conditions, configurability limitations, and other bugs in the interface. Further, this is a headless environment."
"I would like Logic 2 software to automatically email a recipient to notify them that a capture has completed. Is there a way to do that, maybe with extensions or plugins?
The situation is that I need to run the Saleae pod remotely, so I won't know when a capture has occurred. And the event that will trigger the capture only happens once every couple days or so, so I won't be able to just babysit it."
"Do you know when this will be implemented in Logic 2.x? "
Socket automation, where art thou?
Bump on this! Automatically verifying signals on our boards is an essential part of our QA process.
"Greetings, I am writing regarding the Automation API support for Logic 2. We are a team of 20 people performing automated tests. We had been using Logic 1.x for the Automations. We are using Logic 2.x and there are some features 1.x doesn't have. We are looking for a way to automate the Logic 2.x and I know it is not currently supported.
I wanted to check if the features is planned to be implemented any time soon. If so, Do we have a tentative timeline on when the feature would be available?"
"It is a bit frustrating that you don't have any information on the release of the capture API (hopefully also in an improved version) in Logic 2.0."
"Are you somehow planning, within the company, to add the automation feature also to Logic v.2? Would be nice to have it also there."
"Additionally, I would like to stress the importance that you implement the data capture API on the Logic 2 software. This API should also be independent of the GUI-software (which today unnecessarily slows down repeated data capture on Logic 1.2.29)."
Is there any timeline yet? All I read is we are planning it (for a year). I was under the impression this could be integrated into a CI/CD pipeline. Thanks
No timeline yet. We internally discuss implementation ideas quite frequently. We just can't comfortably give a release date, especially since our team consists of only 3 software developers at the moment.
This is critical for us, we're having to use Logic 1 until this is re-implemented which is a shame because 2 is a great improvement other than this.
Logic 1 Socket API worked nice for my 1st automated measurement sequence (72 setups on 5 parameters, ~80 Mbyte analog CSV each -- no fun to do this manually;)
BUT: is there a way to disable that "export progress" popup box which always has the focus on the (only) "cancel" button ???
since those measurements took 2+ hours, I've been working in parallel, and whenever the export happened (80 MB csv export takes quite some time), typing ENTER or SPACE killed the export and I had to restart that measurements;-(
workaround for now: I'm using xterm and with CTRL-LeftMouseButton I can enable "Secure Keyboard" so that the keyboard focus is locked to that single xterm (e.g. for secure password input without spoofing), but that way I'm locked to a single terminal (not my usual desktop setup over hours;)
thanks for hints how to get rid of that "cancel"ing csv exports...
I see what you mean. Sadly there's not way to remove the export dialog window in Logic 1.x. We have fixed this on Logic 2.x, since keyboard keys do not control the "Cancel" button, though this of course requires us to port over the Automation API to Logic 2.x to help in your case.
Right now, solutions like you've described (i.e. taking focus away from the main software window) seems to be best. Originally, we hadn't designed the automation API to be used in conjunction with a user continuing to use the same PC for other tasks. This brings up problems that you've mentioned, though this is certainly something we'll have to keep in mind when porting this over to Logic 2.x.
is there any alternative for now ?
e.g. can I run python commands within Logic 2.x which can trigger a sequence of measurements and export csv files for each ?
"I have already found the idea ticket for the automation API for Logic 2, so I know it is a heavily requested feature and I would like to signal my support for it as well. I am using the exisiting API to process captured data after the fact, but I was wondering if there were any plans to include live data access with the new API.
With analyzers being restricted to the digital signals and having to modify each analyzer to get somewhat real time access the old API doesn't quite meet my needs.
Is there any information you could provide regarding the feasability or likelyhood of something like this making it into the new API or an approximate ETA of when it might be released?"
"It's very unfortunate that the Logic 2 app does not have an automation API yet. What is the approximate ETA for an automation API for the Logic 2 app? Do you have any beta versions I might try? I use only very basic API calls since I use the Saleae as a simple capture device without any analysis or triggering."
"To summarize, the C# API is essentially synchronous. You issue a command and must wait for the ACK/NAK reply before issuing another command. In particular, you should never issue a command while a capture is in progress.
It seems to me like this is a fault of Socket API, which doesn’t allow you to identify which reply is for which issued command (I’m guessing by looking at the code of the C# API), so I don’t see how this could be done without replying on implementation details and/or undefined behavior.
I understand that most users start the device manually and therefore get immediate feedback from the UI when the recordings start. However, I would like to stress that for the API, especially when working on test automation, getting an acknowledgement is cruicial - otherwise, all you’ve got left is the very questionable solution of waiting a fixed amount of time. So I must strongly emphasize the importance of the proposal Application / Automation API - Logic 2 - Ideas and Feature Requests - Saleae 1 and ask that a new Socket API for Logic2 be made that allows asynchronous communication and a way of determining if a capture is currently in progress."
This feature is an absolut must-have. Without possibilities to automate the saleae logic or automate the datalogger the whole thing is no longer worth anything!!!
"Is it possible to programmatically export .sal files to csv? I am aware that the Socket API is not yet available in Logic 2 but I am wondering if there is a way to process the .sal file independent of Logic 2 and convert it to csv?
We have a bunch of (large) .sal files saved and it takes an unnecessarily long and tedious time to individually/manually load and export them from the Logic 2 app.
By the way, I really hope that Socket API will find its way to Logic 2 soon!"
please add me to the email notification once this feature is implemented.
No Brainer. Must have feature, if you want to have the best analyzer on the market.
This is an absolute must-have! Please implement this.
Please Saleae, this feature is a MUST have; used extensively to automate the collection of data under various test conditions. Scripting is a massive time saver
"Hello! How can I enable remote scripting server on Logic 2 application? I know how to do it on 1.2.18 version, but can't find that option on version 2"
Absolutely! We have been heavily developing scripts to automate captures on our products, and would like to drop Saleae's into our CI/CD environment for captures of critical information on each build that we do. This will require this level of automation, and will result in more purchases as we grow our CI/CD system to include a Saleae on each station to capture and validate our systems. At 3x components per system all with several busses/captures, this will be a significant number of systems when we get all the infra built up and the automation API is critical for this.
An IP socket-based API would sure be nice. It would also allow people using RPi and other ARM processors to interface with Saleae. Who knows, someone outside of Saleae could even be the one to write a GUI display interface for ARM devices.
agree, a must have
The automation API was one of the main reasons we decided to use the saleae logic analyzers. It's SO useful. I really hope we get to see it soon in version 2!
"We looking at v2.2.5. It has a lot of nice features that do not exist in v1.x.x. We look forward to you getting the scripting in version 2. It would go a long way with our automated testing."
+1 this feature is also mandatory for us to switch from logic 1x to 2x since our continuous integration is based on this feature
+1, This will be very helpful to build an automated validation tests.
I also vote to increase the priority of this topic. We are also using socket API in our continuous integration system.
It is not possible for us (40 users) to switch to new Logic 2 without a remote control API.
"I have one more question.
Is there a way I can do the following from a script (bourne, sh, ...) instead of running the Logic/Logic2 tool.
- Run Logic or Logic2
- Click Start or Start-Sim
- Export text or csv file with given $PATH/$FILENAME
- Kill Logic or Logic2"
"When will the automation API be available with 2.x, I like the new version and would prefer not going back to 1.x?
I have almost exactly the same quadrature decoder use case as Matt so I’d like to externally control my Logic 16 via socket API to start the capture and export the data for each run, ideally also running a measurement automatically after each run."
Adding a vote, I would definitely use this.
You might also consider a standalone piece of software that would just act as a server to test/automation clients, so that it's not tied to UI/UX changes.
See discuss forum here referring to this idea:
Hi, in Logic 1 it is not possible to fully configure Logic through the Socket API. We use many Saleaes in automated test setups. The tests are very diverse. Some require I2S, others SPI etc... Creating and configuring analyzers for example through the socket API is not possible in v1. We have been in contact long time about this but this feature got never implemented. Our workaround is to generate configuration files (after reverse engineering the configuration file format) and load these (through the socket API). Obviously this is a poor solution. Would it be possible to add this feature to the v2?
This would very useful for using a saleae device as a measurement tool on a CI worker in an embedded C code deployment pipeline. Pretty please?
The API was already there in the previous versions, so my work depends on it. This is actually not a vote to add the API, but to not remove it! ;)