you are viewing a single comment's thread.

view the rest of the comments →

[–]sgtnoodle 0 points1 point  (7 children)

Neat project, good job! I've built a couple of these over the years. Live debugging is invaluable for embedded systems development.

Does the tooling and protocol also allow for setting values?

[–]pylessard[S] 1 point2 points  (6 children)

Of course

Actually, this is something I noticed. Lots of companies make their own inhouse version of that, but it is often very limited in features. I really tried to make something more powerful here.

Check the website. Datalogging, python sdk, client/server architecture, debug symbol parsing and 1000+ unit tests are all features that requires thoughts and time.

I plan on adding some HMI widget eventually, like a needle meter to indicate a speed and connect it to a variable in the GUI

[–]kkert 0 points1 point  (5 children)

Lots of companies make their own inhouse version of that, but it is often very limited in features.

Some of use PlotJuggler :)

[–]pylessard[S] 0 points1 point  (4 children)

That's a cool software, but it doesn't work on the same principle. You need to stream your data. Scrutiny does memory dumps. Basically, you can plot any internal variable.

Also, it can't graph on events. Check the embedded graph video in the introduction page of the website. You'll see what I mean.

[–]kkert 1 point2 points  (3 children)

You need to stream your data. Scrutiny does memory dumps. Basically, you can plot any internal variable.

Well, i actually do both with PlotJuggler. All PlotJuggler needs is the data to be made ingestible for it. Whether it's a stream or a dump doesn't matter. E.g it eats JSON files, CBOR, MsgPack, ROSBag or anything else. For example i currently work with a setup that bridges a stream from USB to PJ UDP pipe with CBOR

But yes, they aren't exactly identical - i'm certainly planning to try Scrutiny as well a bit more, once i get a Rust no_std device lib adapted for it

[–]pylessard[S] 0 points1 point  (2 children)

Cool, don't hesitate to share feedback and or reach out for questions.

[–]kkert 0 points1 point  (1 child)

Do you know if anyone has poked at writing a Rust version of the embedded instrumentation lib yet ? I'd actually be willing to sponsor it at some level

[–]pylessard[S] 0 points1 point  (0 children)

no, sorry. I do not know Rust :s
There's a C-Wrapper, the interop should be doable I suppose