Skip to content

Live plotting of scan data happens in true real-time without lagging or blocking the interactive terminal. #408

Closed

Description

@Relm-Arrowny

Currently BlueAPISession uses WebSockets to listen for live data and these data events are received and processed on a background thread. However, Matplotlib strictly requires that all visual updates happen on the main thread. Trying to inject plotting inside feedback result in exception(I forgot to note down the error).

Goals

Acceptance criteria : What journeys should the user be able to complete to consider your feature done
Be as specific as you can, check them off once they work. Add more if you find more requirements during development. Issue should only be considered done after all of them are checked

  • The interactive plot updates at a reasonable rate when new scan data arrives, rather after the at the end of scan.
  • Plot updates are driven by incoming DataEvents, allowing us to remove the continuous background polling timer.
  • The solution is thread-safe (no Matplotlib/GUI issues when scan are running).

Tasks

base on the goals, deduce the tasks required. check them off once they're done

  • [ ]
  • [ ]
  • [ ]
  • [ ]
  • [ ]

Related Resources

any images/gifs, mockups/wireframes that would aid the development should be listed here
MockUp : link to mockup
Coda doc: link to coda
Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions