Back to Support

Dashboard Overview

March 11, 2026 95 views

Dashboard

The Dashboard is the primary workspace for visualizing and interacting with CAN bus data. It provides a flexible grid layout for arranging widgets that display real-time and historical data, as well as controls for sending CAN frames.


Dashboard Overview

Full dashboard view showing the toolbar at top, widget grid in the center, and console panel at the bottom

A dashboard consists of:

  • Toolbar - Controls for export, import, time range, playback, and saving
  • Widget Grid - Resizable, movable widgets for charts and controls
  • Console Panel - Dockable panel for Terminal, Problems, and Output (see Console Panel)

Dashboards are automatically saved when you click the save button, and they remember their widget layout, positions, and configurations.


Toolbar

The toolbar at the top of the dashboard provides quick access to all essential functions.

Dashboard toolbar showing all buttons from left to right: Export, Import, Agent controls, Time range, Refresh, Play/Pause, Stop, Save, Add widget

Export Button

Export dropdown menu showing

Click the upload arrow icon to access export options:

Option Description
Export raw Exports raw CAN frames from both channels. Opens a format chooser dialog.
Signals, all Exports decoded signal values from all widgets (except Console Charts). Includes timestamp, reader name, CAN ID, channel, bit positions, and decoded value.
Signals, from widget Opens a submenu to select a specific widget. Exports only the signals configured in that widget.

Note: The export button is only enabled when logging is active. The export uses the currently selected time range.

Raw Export Formats

Export Raw Data dialog showing format dropdown with CSV and Candump options

When you click Export raw, a dialog lets you choose between two output formats:

Format Description
CSV (.csv) Helix CSV format with columns: Timestamp, Ch, ID, DLC, Flags, Data. Suitable for spreadsheet analysis.
Candump (.txt) Standard Linux candump -l format. Compatible with canplayer, cansniffer, and other SocketCAN utilities.

Export Progress

Export progress modal showing spinner, frames processed, and data size

When you click Export raw and confirm the format, a progress modal appears showing the export status:

  • Spinner/Checkmark — A spinner animates during export; it changes to a checkmark when the export completes.
  • Progress text — Shows the current chunk (e.g., "chunk 3/12"), percentage complete, and running frame count.
  • Stats — Displays Frames Processed and Data Processed (in MB).
  • Warning — "Please do not close this window during the export process."
  • Close button — Appears when the export is complete, allowing you to dismiss the modal and download the file.

Import Button

Import button and the CSV import modal showing file validation

Click the download arrow icon to import CAN data:

  1. Select a data file from your computer (.csv, .log, or .txt)
  2. The import modal validates the file and auto-detects the format
  3. Preview shows:
    • Detected format
    • Total row count
    • Time range of the data
  4. For large files (>10 million rows), a time range slider allows you to select a subset
  5. Click Import to load the data into the dashboard

Supported Formats:

Format Description
Raw Console Export Helix CSV format — full CAN frame replay (recommended)
Candump Log Standard Linux candump -l format (.log/.txt files) — imported frames are replayed through the dashboard as if received live
Signal Export Pre-decoded signal values (limited support)

Agent Controls

Agent control button showing start/stop state with tooltip

If your dashboard has widgets with Agent Writers (WriterAgentApi), the agent control button appears:

  • Green play icon - Click to start all agents
  • Red stop icon - Click to stop all agents
  • Tooltip - Shows agent count (e.g., "Start all agents (3)")
  • Disabled - When no agents are configured

Time Range Selector

Time range dropdown showing relative and absolute options

Click the time range button to select which data to display:

Relative Time (Lookback):

  • Last 15, 30, 45, or 60 seconds
  • Last 5, 15, or 30 minutes
  • Last 1, 6, or 12 hours
  • Last 1, 7, or 30 days

Absolute Time:

  1. Check the "Absolute time range" checkbox
  2. Enter specific start and end dates/times
  3. The display updates to show the exact range

Timezone: Select your timezone from the dropdown (UTC-12 to UTC+14). This adjusts how timestamps are displayed and calculated.

Select from Activity

Activity-based time selector showing stored CAN data sessions as interactive bar chart

Click the Select from activity button in the toolbar to open the activity-based time selector. This modal displays the StoredDataOverview component, which provides an interactive visualization of all stored CAN data sessions:

  • Manual time input — The Start and End fields at the top are editable text inputs in 24-hour format (YYYY-MM-DD HH:MM:SS). Type directly to set a precise time range. The start time cannot be set later than the end time.
  • Session bars — Channel 1 sessions are shown in blue, Channel 2 in green. Click on any session bar to select its time range.
  • Event markers — Triangular markers on the timeline indicate user-created events.
  • Navigation — Drag to pan across the timeline, scroll to zoom in or out.
  • Time range slider — A slider at the bottom allows fine-tuning of the selected start and end times.
  • Export — An export button with a format chooser (CSV or Candump) lets you export data directly from the selected range.

This is useful when you want to quickly jump to a specific recording session or manually enter a precise time range for analysis.

Refresh Button

Click the refresh icon to reload historical data for the selected time range. Disabled during live playback.

Play/Pause/Stop Buttons

Playback control buttons showing Play, Pause, and Stop states

These buttons control real-time CAN data routing:

Button State Action
Play (green circle with triangle) Stopped Starts live CAN frame routing to widgets. Charts begin updating in real-time.
Pause (amber circle with bars) Playing Pauses live data. Frames continue to buffer but widgets stop updating.
Stop (red circle with square) Playing/Paused Stops live data routing completely. Detaches the WebSocket from the CAN bus context.

During Live Playback:

  • Charts update in real-time as CAN frames arrive
  • System stats are collected continuously
  • If logging is enabled, event markers are automatically added when you play/pause/stop

Save Button

Click the disk icon to save your dashboard:

  • Enabled - Dashboard has unsaved changes (widget positions, configurations, etc.)
  • Disabled - Dashboard is already saved

Add Widget Button

Click the + button to add a new widget to the dashboard. This opens the Widget Editor. See Widget Configuration for detailed instructions.


Widget Grid

Widget grid with multiple widgets showing resize handles, headers, and menu buttons

The widget grid is a responsive layout system that allows you to arrange and resize widgets.

Grid Properties

  • 20 rows x 24 columns - Provides fine-grained placement control
  • Auto-grow - Grid expands vertically as you add widgets below the visible area
  • Auto-shrink - Grid contracts when widgets are removed
  • Gap - 5 pixel spacing between widgets
  • Padding - 5 pixels around the edges

Moving Widgets

  1. Hover over a widget header to see the move cursor
  2. Click and drag to move the widget
  3. Release to drop in the new position
  4. Other widgets automatically reflow to make space

Resizing Widgets

  1. Hover over a widget edge or corner to see resize cursors
  2. Drag to resize the widget
  3. Widgets snap to grid cells during resize
  4. Minimum size is enforced based on widget type

Widget Menu

Click the menu button (three dots) on any widget header to access:

Option Description
Edit Opens the widget configuration page to modify readers, writers, and visual settings
Lock/Unlock Toggles whether the widget can be moved or resized. Locked widgets show a lock indicator.
Delete Removes the widget from the dashboard

Locked Widgets

Locked widgets cannot be moved or resized, show a lock icon in the header, and can be unlocked via the menu.


Synchronized Charts

When a dashboard has multiple time series charts, their cursors and viewports are automatically synchronized:

  • Cursor sync — Moving your cursor over one chart shows a corresponding crosshair on all other charts at the same X (time) position. When you leave a chart, the crosshairs on other charts are cleared.
  • Pan sync — Panning (dragging) the X-axis on one chart pans all charts to the same time range simultaneously.
  • Zoom sync — Zooming into a time range on one chart applies the same zoom to all other charts.
  • Reset sync — Double-clicking to reset an axis resets all charts to their default range.

This synchronization applies to both Multi-Axis Line Charts and Shared Y-Axis Line Charts.


Widget Types

Dashboards support two categories of widgets: Charts (for displaying data) and Controls (for sending data). For detailed configuration, see Widget Configuration.

Charts (Display Widgets)

Widget Purpose
Multi-Axis Line Chart Time-series data with multiple independent Y-axes, legends, zoom/pan, crosshair
Shared Y-Axis Line Chart Time-series data with a single shared Y-axis for direct comparison
Radial Gauge Single value as a circular gauge with color zones
Linear Gauge Single value as a horizontal or vertical bar
Console Chart Raw CAN frames for a specific channel with auto-scroll

Controls (Input Widgets)

Widget Purpose
Slider Send a value by dragging a slider
Toggle Send binary on/off values
Knob Send a value by rotating a virtual knob
Stepper Send a value using increment/decrement buttons
Numeric Send a value by typing directly

Data Flow

  1. Live Data: CAN frames arrive via WebSocket → Click Play → Frames routed to chart readers → Charts update in real-time
  2. Historical Data: Select a time range → Click Refresh → Data loaded from database
  3. Control Output: Interact with a control widget → Writer processes the value → Transmitted to the bus. CAN Frame writers encode and send via WebSocket; Agent writers update signals via REST API; Plugin writers delegate to the plugin SDK.

Working with Multiple Dashboards

  • Access the dashboard list from the sidebar
  • Each dashboard has its own widget configuration, layout, and data views
  • Recently viewed dashboards appear on the home page
  • Dashboards are saved independently

Tips

  1. Start with Live Mode - Click Play to see real-time data before configuring time ranges
  2. Use Locked Widgets - Lock critical widgets to prevent accidental repositioning
  3. Organize by Function - Group related charts together (e.g., all engine data on one row)
  4. Export Before Analysis - Export raw data for offline analysis in spreadsheet software
  5. Check the Console Panel - If widgets aren't updating, check the Problems tab for errors
  6. Use Relative Time for Monitoring - "Last 5 minutes" automatically updates without refreshing
  7. Save Frequently - Save after making layout changes to avoid losing work
  8. Import for Replay - Import previously exported raw data to replay CAN traffic through your dashboard widgets

Related Documentation

Share this article

More articles in this category:

Browse Dashboard & Visualization articles