-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
driver/sigrok: various fixes #1346
Conversation
798afbf
to
8e188ac
Compare
I pushed an additional fix: When the The implemented fix polls the subprocess while waiting for the capture file creation, and raises an Exception if it has failed. For easier debugging, it also logs the stdout and stderr of the failed |
Another issue I found is that the Edit: Forcing to allocate a pty by adding the ssh I think the better approach to this would be to detach the process entirely and send a |
Turns out So the fix actually is rather simple - instead of sending SIGINT, write any key to stdin. This works fine with ssh |
apparently some versions of sigrok-cli on some distros (for example Ubuntu 22.04) default to false, resulting in invalid parsing Signed-off-by: Felix Zwettler <[email protected]>
happens only when when the resource is remote Signed-off-by: Felix Zwettler <[email protected]>
when specified filename is not absolute and using a remote sigrok resource Usually when an absolute path is supplied as `filename` the call `abs.path.join()` resolves to `filename`. But when the file path is relative, it resolves it to a relative path appended to the tmp dir, instead of from where the user calls this method. Signed-off-by: Felix Zwettler <[email protected]>
The driver expected that the sigrok-cli is successful and starts capturing in continuous mode. When the call is unsuccessful, the driver then waited for the creation of the capture file forever. Fixed by checking if the sigrok-cli process terminated prematurely while waiting for the existence of the capture file. Signed-off-by: Felix Zwettler <[email protected]>
…motely the signal that is supposed to terminate the process SIGINT was not being propagated through ssh. The driver waited for termination forever. fixed by quitting sigrok-cli through an emulated keypress by sending a char over ssh. Signed-off-by: Felix Zwettler <[email protected]>
cc5e1f0
to
8646297
Compare
Description
This fixes some things in the sigrok driver implementation:
apparently some versions of sigrok-cli on some distros (for example Ubuntu 22.04) default to false,
resulting in invalid parsing
Checklist