Skip to content

[TASK] Implement Record Button to Capture Data Stream for Debugging #635

@niclassvardal-boop

Description

@niclassvardal-boop

Description of task

Add a “Record” button to the GUI that allows operators to capture the full telemetry/data stream during operation. The recorded data should be saved locally for later debugging, replay, or analysis.

Components:

  • Record button: UI element to start/stop recording; toggle state with visual feedback
  • Data capture logic: backend handler to stream and save incoming data (e.g. ROS messages, Foxglove topics)
  • File management: Save the data to timestamped file or user-defined location
  • Status indicator: Show recording status (e.g. "recording..." or blinking red dot)

Suggested Workflow

Add QPushButton with toggle behavior and recording icon

  • Connect button to backend recording logic (e.g. ROS bag, Foxglove WebSocket stream)
  • Implement file saving with timestamped filenames
  • Add visual indicator for active recording
  • Ensure recording stops gracefully on GUI exit or error
  • Log recording events to GUI log panel

Specifications

No response

Contacts

No response

Code Quality

  • Every function in header files are documented (inputs/returns/exceptions)
  • The project has automated tests that cover MOST of the functions and branches in functions (pytest/gtest)
  • The code is documented on the wiki (provide link)

Metadata

Metadata

Labels

Low priorityNot time-sensitivefeatureNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions