Commit graph

4600 commits

Author SHA1 Message Date
jaknapper
5a8e8f745a Update tests 2026-05-13 17:54:29 +01:00
jaknapper
800aea21dc Move to async monitoring 2026-05-13 17:54:29 +01:00
jaknapper
e9414cfb1d Update picamera tests 2026-05-13 17:54:29 +01:00
jaknapper
261b4272c2 Picamera test for framerate 2026-05-13 17:54:29 +01:00
jaknapper
44300eafd6 Measure framerate in non-blocking way 2026-05-13 17:54:29 +01:00
Joe Knapper
7450a0e47c Merge branch 'fom-af' into 'v3'
Record fom as other sharpness metric

Closes #615

See merge request openflexure/openflexure-microscope-server!578
2026-05-13 16:53:28 +00:00
jaknapper
d12ca97fac We are now a picamera testing organisation 2026-05-13 17:24:12 +01:00
Joe Knapper
07caa1f05f Looser typing of stage positions in autofocus 2026-05-13 17:14:42 +01:00
Joe Knapper
b1791833e2 Clean up data_to_array to not use get attr 2026-05-13 17:14:42 +01:00
jaknapper
563bfcf7be Update move_and_measure, add unit tests 2026-05-13 17:14:42 +01:00
jaknapper
e93d9777a2 Type checking help for libcamera requests 2026-05-13 17:14:37 +01:00
jaknapper
0e1d9cca18 Improvements to properties and docstrings 2026-05-13 17:14:37 +01:00
Joe Knapper
4d9669f8ae Add FoM to codespell regex ignore 2026-05-13 17:14:37 +01:00
Joe Knapper
1f5adbb1a5 Ruff 2026-05-13 17:14:37 +01:00
Joe Knapper
767e3992ff Add FoM to codespell ignore 2026-05-13 17:14:37 +01:00
jaknapper
bea7447f26 Clean up from suggestions 2026-05-13 17:14:37 +01:00
Joe Knapper
cab960fe2c Apply suggestions from code review of branch fom-af
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-05-13 17:14:36 +01:00
jaknapper
664bb00c12 Allow users to specify method for autofocus 2026-05-13 17:14:36 +01:00
jaknapper
881970ce34 Record fom as other sharpness metric 2026-05-13 17:14:36 +01:00
Julian Stirling
704e8eff7e Merge branch 'v3-labthings-global-lock' into 'v3'
Enable global locking.

Closes #353 and #388

See merge request openflexure/openflexure-microscope-server!570
2026-05-13 15:37:57 +00:00
Richard Bowman
a47a569868 Update usage of hold_global_lock
The argument to `ThingServerInterface.hold_global_lock` was changed, so that `True` is now the default behaviour.
This commit updates that in the one place where it's used.
2026-05-13 12:58:50 +01:00
Richard Bowman
b6f4c9972e Exempt stitching and downloading scans from the global lock. 2026-05-13 12:58:50 +01:00
Richard Bowman
608f4ec0d5 Enable global locking.
This commit:
* switches to the LabThings branch
* enables locking when config files are loaded
* Updates jogging so jog moves aren't subject to the lock, but the jog loop is.
2026-05-13 12:58:50 +01:00
Julian Stirling
eff66eb667 Merge branch 'v3-labthings-validate-properties-on-set' into 'v3'
Update to validating properties on write.

See merge request openflexure/openflexure-microscope-server!555
2026-05-13 11:26:21 +00:00
Julian Stirling
e759970206 update picamera coverage zip 2026-05-13 11:53:20 +01:00
Joe Knapper
943ebb64b2 Merge branch 'bugfix/close_mitt_signals_' into 'v3'
Bugfix/close mitt signals

Closes #757

See merge request openflexure/openflexure-microscope-server!581
2026-05-13 10:44:50 +00:00
Richard Bowman
b00f90aada Remove settings from SmartStackMixin
As properties now take validation settings from the final class, we no
longer need to redefine settings here, so I've removed them.
2026-05-13 11:34:22 +01:00
Richard Bowman
622fa17634 Enable validation for all Things and pick correct branch
This commit updates the branch to use Thing._class_settings instead of FEATURE_FLAGS for a safer way to implement new features.
2026-05-13 11:34:21 +01:00
Richard Bowman
05f92b9b33 Specify the feature branch of LabThings and enable the feature flag.
I've put the feature flag in `openflexure_microscope_server.things.__init__` so that we only need it once, rather than next to every Thing definition.

I decided it was better here than, for example, in the server or cli modules because this way we still get the feature flags even if the Things are served from a different LabThings server.
2026-05-13 11:33:47 +01:00
Richard Bowman
d673ceab7b Update test suite to cope with LabThings validating properties on write (https://github.com/labthings/labthings-fastapi/pull/278) 2026-05-13 11:33:07 +01:00
Joe Knapper
b298728fe5 Merge branch 'gallery-ui-transition' into 'v3'
Start the UI transition from ScanList to Gallery

Closes #771

See merge request openflexure/openflexure-microscope-server!580
2026-05-13 10:30:48 +00:00
Joe Knapper
04b7d0d4fa Merge branch 'v3-default-factory-for-dictionaries' into 'v3'
Use a default_factory for dict default values

Closes #750 and #751

See merge request openflexure/openflexure-microscope-server!561
2026-05-13 08:03:52 +00:00
Joe Knapper
31210be9ac Merge branch 'objective-sim' into 'v3'
Scale blur in simulator based on objective

Closes #745

See merge request openflexure/openflexure-microscope-server!567
2026-05-13 08:02:44 +00:00
Joe Knapper
2e051f6d30 Apply suggestions from code review of branch gallery-ui-transition
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-05-13 08:44:55 +01:00
Antonio Anaya
ee8e09a9e1 bugfix(gallery) Close signals properly, unwatch, gracefully fails and prevent undefined all_items 2026-05-13 08:44:55 +01:00
Julian Stirling
5f6b54247d Start the UI transition from ScanList to Gallery 2026-05-13 08:44:55 +01:00
Richard Bowman
cb9270c9e8 Use a default_factory for dict default values
`backlash_steps` and `axis_inverted` were `lt.setting`s with default values that were dictionaries. This means they had mutable default values, which caused crosstalk in the test suite.

This commit swaps them to default factory functions. This should isolate instances from each other and stop the offending behaviour.
2026-05-13 08:26:52 +01:00
Antonio Anaya
0d2fb9de0b bugfix(actionButton) Unwrap arrow function at submitOnEvent 2026-05-12 21:43:03 +00:00
Antonio Anaya
27f09b91bb Apply suggestions from code review of branch bugfix/close_mitt_signals_
Co-authored-by: Julian Stirling <julian@julianstirling.co.uk>
2026-05-12 21:43:03 +00:00
Antonio Anaya
567cff3568 chore(node) add comments for signals management description 2026-05-12 21:43:03 +00:00
Antonio Anaya
1d8fa9d616 bugfix(eventbus) Unwrap arrow functions and close eventbus signals 2026-05-12 21:43:03 +00:00
Joe Knapper
d358d89334 Merge branch 'log-endpoints' into 'v3'
Update endpoints for logs

Closes #774

See merge request openflexure/openflexure-microscope-server!585
2026-05-12 16:29:48 +00:00
jaknapper
3420138e85 Mock updated api route 2026-05-12 16:11:03 +01:00
jaknapper
ec83556da7 Convert server prefix to str for Mock tests 2026-05-12 15:42:50 +01:00
Julian Stirling
fa2c4141f6 Merge branch 'bug-template' into 'v3'
More details in bug template

See merge request openflexure/openflexure-microscope-server!584
2026-05-12 13:37:14 +00:00
jaknapper
645a6dd136 Update endpoints for logs 2026-05-12 14:23:33 +01:00
Joe Knapper
d233715734 More details in bug template 2026-05-11 19:50:32 +01:00
Julian Stirling
92619e2131 Merge branch 'calibration_thing' into 'v3'
Calibrate settling times after moves

See merge request openflexure/openflexure-microscope-server!207
2026-05-11 12:32:30 +00:00
Julian Stirling
a2965e588d Merge branch 'v3-labthings-api-prefix' into 'v3'
Add an API prefix

See merge request openflexure/openflexure-microscope-server!562
2026-05-11 11:51:29 +00:00
jaknapper
cc6866b2e5 Add tests for measure settling time 2026-05-11 12:49:52 +01:00