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
base: master
Are you sure you want to change the base?
Conversation
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 <felix.zwettler@duagon.com>
…urce is remote Signed-off-by: Felix Zwettler <felix.zwettler@duagon.com>
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 <felix.zwettler@duagon.com>
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 |
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 <Felix.Zwettler@duagon.com>
…otely 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 <Felix.Zwettler@duagon.com>
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