knurling-rs / defmt

Efficient, deferred formatting for logging on embedded systems
https://defmt.ferrous-systems.com/
Apache License 2.0
750 stars 69 forks source link

Compatibility with PlotJuggler #850

Open asasine opened 4 weeks ago

asasine commented 4 weeks ago

This might seem like a longshot but how would I go about supporting defmt logs in PlotJuggler? My idea is to bring the functionality similar to Arduino's Serial Plotter to defmt-based systems such that recurring logs with the same format, but differing values for a certain variable, can be plotted. I think PlotJuggler is a good choice as it's an incredibly powerful tool, already has plugin support, and is transport- and protocol-agnostic. Building upon that brings a lot of value to defmt-based systems without needing to build the entire plotting application from scratch.

Urhengulas commented 3 weeks ago

probe-run did support a --json mode which might be handy here. You could build a script/tool/plugin the reads the json and feeds it into PlotJuggler. You can read about it here: https://defmt.ferrous-systems.com/json-output

The problem is that probe-rs does not support the json mode atm, but it should not be too hard to add it, since all the formatting logic is in defmt-decoder.