I am currently developing an open-source test automation framework with support for Saleae hardware. However, I’m encountering a challenge with ensuring that the Saleae device has successfully initialized before I begin my tests.
Initially, I attempted to confirm the startup by searching for the pattern logic_device_node.*set.led in the logs. Unfortunately, this method has proven unreliable. Could anyone suggest a more effective strategy to verify that the Saleae hardware is ready for use?
Why not use automation.Manager.launch() as part of the Saleae automation API vs. Popen()?
Also, the company name has an ‘e’ at the end (i.e., Saleae vs. Salea)
See the optional parameters in the Manager class API docs, which may help your use case (like connect_timeout_seconds or logic2_process).
Note: I think you could also just query get_app_info() to see if the gRPC server is responding to API calls as a quick state-of-health check of a running Logic application, (after you automation.Manager.connect() if you didn’t launch() it). The connect() also has an optional connect_timeout_seconds parameter that might help.
Ultimately, I think trying API calls vs. searching the log file would be a cleaner way of confirming the process launched.