Julian Stirling
61666a116b
Simulation jog
2026-02-16 17:13:27 +00:00
Julian Stirling
70dd7bd994
Generalise jog
2026-02-16 17:13:27 +00:00
Julian Stirling
2f205a35e9
Fix docstrings
2026-02-16 17:13:27 +00:00
Julian Stirling
5af8ad5192
Split jog dequing from calling commands
2026-02-16 17:13:27 +00:00
Richard Bowman
9ed850cc68
Switch move buttons to use jog
...
This implements a nicer version of jogging, with a defined interval of 1/3 second. This can be tuned depending on what we think makes sense.
It might be good to re-use this for handling keypresses.
2026-02-16 17:13:27 +00:00
Richard Bowman
abda60adf6
Prevent accidental queueing of jog commands
2026-02-16 17:12:17 +00:00
Richard Bowman
4d445396b2
Update position property during and after jog
2026-02-16 17:12:17 +00:00
Richard Bowman
04e7fa30bd
Format fixes
2026-02-16 17:12:17 +00:00
Richard Bowman
3753341893
First working version of jog
...
I've fixed a few issues, used the right exception for queue timeouts, and added a __repr__ to jog commands for nicer debug output.
This now works - it's not flawlessly smooth, but it's pretty close. The limiting factor seems to be the repeat rate of the keypresses in javascript.
2026-02-16 16:50:10 +00:00
Richard Bowman
e9b4d73084
First implementation of interruptable jog moves.
...
This introduces a new move command, "jog", which is a relative move that may be interrupted. The idea is that a client may send repeated requests to invoke "jog" actions, and each action replaces the previous one. This should mean that a continuous stream of "jog" requests results in continuous motion of the stage.
Motion may be stopped by cancelling an ongoing `jog` action, or by waiting for the move to complete.
My rationale for implementing it this way is that we have a built in fail-safe, because the stage will automatically stop after the current `jog` move completes, unless it gets another request. Using a short move (e.g. 0.5s) means it should never overrun by more than that.
2026-02-16 16:50:10 +00:00
Joe Knapper
704fc5569f
Merge branch 'flash-led-sim' into 'v3'
...
Illumination Thing
See merge request openflexure/openflexure-microscope-server!468
2026-02-12 16:37:53 +00:00
Joe Knapper
bb5cce3d4e
Only generate frame if LED is on
2026-02-12 13:54:12 +00:00
Joe Knapper
fdf33ce4a8
Apply suggestions from code review of branch flash-led-sim
...
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-02-12 13:48:12 +00:00
Julian Stirling
18477a663d
Define flash in illumination base class
2026-02-12 13:40:20 +00:00
Julian Stirling
511b37176e
Add clarifying docstring
2026-02-11 11:03:08 +00:00
Julian Stirling
5d5bae7f79
Apply suggestions from code review of branch More-workflow-layers
...
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2026-02-11 11:03:08 +00:00
Julian Stirling
9e477a26d8
Simplify planners a little to consolidate snake and raster
2026-02-11 10:39:30 +00:00
Joe Knapper
16458db85b
Fix simulated imports
2026-02-11 10:26:04 +00:00
Joe Knapper
676d34842a
Apply suggestions from code review of branch flash-led-sim
...
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-02-11 10:19:19 +00:00
Joe Knapper
4d788a2817
Remove flash from stage baseclass, add to sim config
2026-02-10 22:19:49 +00:00
jaknapper
5682b4d28d
Illumination Things for sangaboard and simulator
2026-02-10 18:42:59 +00:00
Joe Knapper
8435f6ae98
Move illumination to new IlluminationThing
2026-02-10 18:06:21 +00:00
Julian Stirling
1221b6ca02
Apply suggestions from code review of branch More-workflow-layers
...
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2026-02-10 16:40:11 +00:00
Julian Stirling
15798d9b7d
Further layering of the classes for scan workflows
2026-02-10 16:02:18 +00:00
Joe Knapper
1de4366df7
Flash LED endpoint in simulator for parity
2026-02-10 15:59:18 +00:00
jaknapper
1f01717a1b
Fix UI workflow test as order changed
2026-02-10 14:24:41 +00:00
jaknapper
f1845c3039
RectangleWorkflow as a baseclass
2026-02-10 14:05:38 +00:00
jaknapper
6294cde471
Fully subclass Rectangle basescanner for raster and snake
2026-02-09 19:35:19 +00:00
Joe Knapper
3beb8e1147
Auto-populate workflow dropdown
2026-02-09 18:48:49 +00:00
Joe Knapper
0177596fb6
Add raster scan, with generic typing to allow subclassed settings
2026-02-09 18:48:49 +00:00
Joe Knapper
eb88e1f1c0
Apply suggestions from code review of branch snake-scan
...
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-02-09 16:05:49 +00:00
Joe Knapper
7413aa57f8
Docstring and typehints suggestions from @julianstirling
2026-02-09 15:08:53 +00:00
Joe Knapper
f230eef2dc
New scan workflow for snake scans, move next pos into scan baseclass
...
Update tests that were testing wrong method, update all to new select_nearby_focus_site
2026-02-09 13:19:10 +00:00
Julian Stirling
8f30f08bdf
Apply suggestions from code review of branch scan-workflows
...
Co-authored-by: Joe Knapper <joe.knapper@glasgow.ac.uk>
2026-02-06 13:28:30 +00:00
Julian Stirling
b26dda60a4
More tests and assoicated bugfixes
2026-01-18 23:19:44 +01:00
Julian Stirling
eb93342d9f
Add test of logic for selecting worflow.
2026-01-18 14:23:18 +00:00
Julian Stirling
b22fcf4b88
Complete testing of HistoScanWorkflow
2026-01-16 18:16:50 +00:00
Julian Stirling
1bc6b9e0c4
Add a number of extra tests to ScanWorkflows
2026-01-16 17:02:07 +00:00
Julian Stirling
57b20782a0
Further fixes after introducing scan workflow selection
2026-01-16 13:04:23 +00:00
Julian Stirling
21b779a4a5
Dynamic UI for scan workflows
2026-01-16 12:18:54 +00:00
Julian Stirling
2a3a54b936
Get unit tests passing with Scan Workflows
2026-01-16 09:28:15 +00:00
Julian Stirling
c82523dd5b
Start updating unit tests after refactoring into ScanWorkflows
2026-01-16 09:28:15 +00:00
Julian Stirling
11ef1217e0
Docstrings and tweaks of ScanWorflow refactor
2026-01-16 09:28:15 +00:00
Julian Stirling
c938560f00
Docstrings and final tweaks of ScanWorflow refactor
2026-01-15 21:59:53 +00:00
Julian Stirling
665622a802
First working interation of ScanWorkflows. Needs a tidy
2026-01-15 20:59:53 +00:00
Julian Stirling
adab5bae24
Start smart stack parameters in scan workflow
2026-01-15 16:05:02 +00:00
Julian Stirling
54ed78c832
Create aquisition routines for scan workflows, remove background detector from base ScanWorkflow class
2026-01-15 14:53:47 +00:00
Julian Stirling
b6343362b2
Start splitting ScanData into workflow specific data.
2026-01-15 12:59:06 +00:00
Julian Stirling
5ce74cad8a
A start to implementing ScanWorkflow
2026-01-15 12:59:06 +00:00
Julian Stirling
ca46439269
Rename "active_detector" for background detecor. Improve thing selector coercion
2026-01-14 15:10:13 +00:00