-
Notifications
You must be signed in to change notification settings - Fork 413
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
Fix broken self.matched interface #430
Comments
Please refer to the reply of #429. |
@DreamSourceLab while I acknowledge this may have been originally thought to have been an improvement, I don't believe this is the case now. This issue's description gives clear evidence that this incompatible API change in relation to Sigrok's API broke existing decoders at DSView's codebase. Also, it makes any stacked protocol decoders from Sigrok unusable at DSView, taking away any hopes of collaboration. I fail to see how these would be improvements. Would you please review the description, perhaps I can help with more details if required. |
@fornellas |
@DreamSourceLab I think I got part of the confusion here. This issue was cut a long time ago, and back then, this change, that fixes part of the problem referred at the description, was not there, so I see why it was confusing now "this is not actually broken". So, things WERE broken, things WERE fixed, and now, the matter is an API change (below). So, moving on, it seems we have 2 things on the table:
It is not clear to me if (2) is a requirement for any performance gains here or not. Whatever the case, the fact is that, DSView protocol decoder API is hyper similar to Sigrok's, but NOT exactly the same, due to the change at Do you think it would be possible to keep the speed benefits pushed, while having WDYT? |
As documented upstream, the interface of
self.matched
for a decoder must return a tuple of booleans. It is currently returning an integer.While some protocol decoders make use of it this way, various others don't, so they blow up with
TypeError: 'int' object is not subscriptable
.This is also true for all upstream decoders, which can't work here, unless they are patched (eg: #429)
PS: perhaps the solution is to make use of the upstream lib #428
The text was updated successfully, but these errors were encountered: