Skip to content
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

Class level decoding #214

Open
jolo1581 opened this issue Dec 5, 2024 · 1 comment
Open

Class level decoding #214

jolo1581 opened this issue Dec 5, 2024 · 1 comment
Labels
enhancement potential new feature

Comments

@jolo1581
Copy link

jolo1581 commented Dec 5, 2024

Hello,

is it possible to have an option to decode the USB stream to Class level like Total Phase Beagle 480?
It is nice to see the datastream, but most time I need to look on class level. So I can directly see what is going on.

@martinling
Copy link
Member

In the long run, decoding class-specific requests and data structures is possible and I'd consider it in scope for the project.

There are some small things already done, e.g. if you look at the request for a HID report descriptor, the detail pane will show the structure of the report.

But to do this sort of work across all classes is a huge job, because of how many classes there are and how many different data formats are used in each of them. I've not personally used Total Phase's products, but I'm sure that they must have put a great deal of work into that feature of their software.

I think that the best solution is probably not for us to write Rust code for all classes directly, but to use some kind of definition language in which the data formats used by each class can be expressed more succinctly, and which Packetry can load, interpret and use at runtime. That would make it a lot faster to translate each class specification into a form that Packetry can work with, and would enable more people to contribute to that effort.

If we can find a sufficiently intuitive way to do this, then users would also be able to use that same approach to describe the data formats used by vendor-specific devices, which would be a great feature to have too.

@martinling martinling added the enhancement potential new feature label Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement potential new feature
Projects
None yet
Development

No branches or pull requests

2 participants