Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 11:35
· 63 commits to main since this release

Added

  • Plot tabs. Organise plots in named tabs (e.g. Safety, Motion), each with its own plots and arrangement. Tabs are saved automatically; double-click to rename, right-click (or ⋯) to duplicate, delete, or export/import a tab as a .json file to share. Data is collected for every tab, so switching tabs shows the full timeline. Each tab shows how many plots it holds.
  • Lichtblick-style plot layout. Plots fill the tab. Drag a plot by its title onto the edge of another plot to put it beside, above or below it, onto its middle to swap them, or onto another tab to move it there (Esc cancels). Drag the gaps between plots to resize them (double-click a gap to even them out). Arrange lays them out in rows again. A plot never gets so small that its lanes overlap; below that the tab scrolls.
  • State transitions plots. Switch a plot between Lines and States. In a State transitions plot every series is a labelled lane that changes colour when its value changes, with the values written in and the current value next to the label. Plots made only of true/false values start in this mode.
  • Zoom. Drag across a plot to zoom into that time range (all plots in the tab follow); drag a box to zoom into a value range as well. Reset view on each zoomed plot (and in the toolbar), double-click or Esc go back to the live view.
  • Vertical lines at timestamps on plots, like Lichtblick's time grid (on by default; plot settings → X axis to turn them off for a plot). They are drawn over state lanes so they stay visible on the data.
  • Pop-out plots. Open a plot in its own window, to put it on another screen; it keeps plotting live and has its own time window, freeze and zoom.
  • Full screen for a single plot.
  • Plot settings panel for the selected plot, laid out like Lichtblick's: title, plot type, time window, legend and values, y-axis range, time grid, and per series visibility, label (alias), colour picker or palette colour, display style (line, line and points, steps, state lane) and line width. The panel can be hidden and resized.
  • Synced time bar. Hovering one plot moves the time bar on every plot of the tab, and the legends show the values at that moment.
  • Rebindable keyboard shortcuts in Settings → Keyboard (clashes are flagged; the menu shows the current keys).
  • Space holds and releases the inspector's message, or freezes the plots on the Plots tab. Ctrl+R clears received messages and restarts the plot timelines (pop-out windows too) without disconnecting.
  • Setting: clicking a topic in the tree also expands it one level.
  • Website at https://torexz.github.io/mqtt-scope/ and an Arch Linux package (packaging/aur, mqtt-scope-bin).

Changed

  • Icons are monochrome line icons that follow the theme.
  • Plots are saved in plotTabs.json. plots.json keeps the tab on screen in the 0.1 format, so 0.1.0 still finds its plots; plots changed by 0.1.0 after an upgrade come back as a Plots (older version) tab instead of being lost. Plots saved by 0.1.0 open as a tab.
  • Each window keeps its own plot tab on screen; changes made in one window appear in the others.
  • Plotting is much lighter at high message rates and with long histories (about 0.003 ms per message per plotted value, and a few ms per redraw at 100,000 points). All plotted data together is capped at roughly 150 MB.
  • Space and Enter press a button reached with the keyboard instead of triggering a shortcut.

Fixed

  • Freeze now also holds plots whose time window is All, and legends show the values at the moment of freezing rather than newer ones.

Full Changelog: v0.1.0...v0.2.0