Qcodes icon indicating copy to clipboard operation
Qcodes copied to clipboard

[WIP] async ramp in Mercury iPS

Open cgranade opened this issue 7 years ago • 3 comments

This PR adds new async functionality, since the majority of the time during ramping MercuryiPS fields is spent on polling the instrument ramp state. awaiting sleep instead of blocking on sleep allows for other tasks to run without needing a multithreaded application. For instance, using the cancelling context manager in this PR, it's easy to add an async task that reports the current magnetic field of a controller whenever the main thread is idle. Since this uses the default event loop, it is manifestly single-threaded unless a user explicitly installs a threadpool executor.

This PR originally also introduced improvements related to field vectors but those were moved to the separate PR https://github.com/QCoDeS/Qcodes/pull/1398.

cgranade avatar Oct 29 '18 12:10 cgranade

Codecov Report

Merging #1348 into master will increase coverage by 2.64%. The diff coverage is 67.44%.

@@            Coverage Diff             @@
##           master    #1348      +/-   ##
==========================================
+ Coverage   70.52%   73.16%   +2.64%     
==========================================
  Files         103       80      -23     
  Lines       11608     9272    -2336     
==========================================
- Hits         8186     6784    -1402     
+ Misses       3422     2488     -934

codecov[bot] avatar Nov 07 '18 14:11 codecov[bot]

+@QCoDeS/core for async impact.

cgranade avatar Nov 07 '18 16:11 cgranade

A new PR https://github.com/QCoDeS/Qcodes/pull/1398 is opened for the changes in this PR that are not related to async. The work on this branch (either in this PR or in a new PR) on the async ramping will continue later and independently.

The title and description of this PR has been adjusted accordingly.

astafan8 avatar Nov 28 '18 13:11 astafan8