Commit graph

2645 commits

Author SHA1 Message Date
Richard Bowman
d561ff4484 Update blocking portal syntax
spawn_task should be replaced with start_task_soon as per the
anyio API for v4.
2024-01-03 17:09:36 +00:00
Richard Bowman
25552215f9 Refactored background detection into a Thing
The new background detect Thing (currently in smart_scan.py)
manages its own settings and exposes a few more actions.
2024-01-03 16:56:20 +00:00
Richard Bowman
04321cac96 Merge branch 'v3-webapp' into 'v3'
Web app compatibility with v3 API

See merge request openflexure/openflexure-microscope-server!163
2024-01-03 14:32:41 +00:00
Richard Bowman
37f6251d41 Eliminate references to old extensions API
Some of these will, in the future, be replaced by the new
API but, for now, the features in question are disabled anyway.
2024-01-03 14:28:31 +00:00
Richard Bowman
fc49ca7656 Restore cameraURI in calibration modal 2024-01-03 14:22:49 +00:00
jaknapper
0e32fd1e1f Added position log 2023-12-29 15:58:51 +00:00
Richard Bowman
c1ed5d0c87 Also log modal errors to the console 2023-12-15 02:39:03 +00:00
Richard Bowman
b23d6043c5 Remove IHI slidescan from features settings 2023-12-15 01:22:21 +00:00
Richard Bowman
c8906008ed Update zero coordinates button
This now uses a taskSubmitter and the new URL
2023-12-15 00:32:37 +00:00
Richard Bowman
93757c2103 Improve responsiveness and reliability of moves
Fixed a bug where incorrect values in the position control
caused incorrect relative moves.

Decreased the polling interval to make moves more responsive.
2023-12-15 00:15:23 +00:00
Richard Bowman
a9fdb6fd52 Update position controls to resemble propertyControl
I've simplified the HTML template and added a refresh button.
2023-12-15 00:00:02 +00:00
Richard Bowman
30deedde9e Route all moves through the Move taskSubmitter
I've consolidated move code (except moveinimagecoordinates)
so that it now all simulates clicking "submit" on the taskSubmitter.
2023-12-14 23:38:16 +00:00
Richard Bowman
968136e22e Add opencv as a dependency 2023-12-14 17:21:22 +00:00
Richard Bowman
1b6e2686be Format and linting of recentre and smart scan 2023-12-14 16:06:05 +00:00
Richard Bowman
a54c972891 Merge branch 'new_things' into 'v3'
Scanning and recentring

See merge request openflexure/openflexure-microscope-server!162
2023-12-14 15:19:02 +00:00
jaknapper
1d50dcb3f8 Scanning and centring things 2023-12-14 15:08:43 +00:00
Richard Bowman
d0eb9fa2c1 Format/comment improvements 2023-12-13 16:35:13 +00:00
Richard Bowman
3b2fd29fb0 Log to a file and make it visible via the API 2023-12-13 01:54:42 +00:00
Richard Bowman
77c43c824d Restore log viewer 2023-12-13 01:53:55 +00:00
Richard Bowman
3059683186 Enable logging
`logging.basicConfig` doesn't work when run via `uvicorn`.
I now explicitly get the root logger and set its level to INFO,
which means we now see logs on the terminal.
2023-12-13 00:51:41 +00:00
Richard Bowman
94e1619056 Use safer metadata dependency
Retrieving metadata pre-action risks stale metadata being
returned if DirectThingClients are used. I've switched to
the safer callable dependency, which is guaranteed to be fresh.
2023-12-12 23:40:12 +00:00
Richard Bowman
d9711522d5 Detect static directories
Simplified code and removed hard-coded list of static dirs.
2023-12-12 22:55:50 +00:00
Richard Bowman
753514c24b Added v2 API routes and hard-coded static files to support Connect
Connect looks for /routes and /api/v2/streams/snapshot
These are now present and working.

I've also hard coded the static files directory - fixing this
properly is a work in progress.
2023-12-11 23:59:11 +00:00
Richard Bowman
7c662b2787 Added capture buttons to navigate pane 2023-12-11 22:23:32 +00:00
Richard Bowman
60f854b7db Return None if calibration matrix is missing
Previously, we raised an exception (and thus HTTP error
code) if the CSM matrix was requested and not yet set.
Now, we just return None, and I've added a (not-network-exposed)
function that will raise an HTTPException if it's missing.
2023-12-01 21:29:14 +00:00
Richard Bowman
e3265b1dff await readThingProperty correctly 2023-12-01 21:27:38 +00:00
Richard Bowman
9817b4963a Handle missing Thing better in thingFormUrl
We now give a helpful error message if the Thing is not found,
rather than returning null. There's an argument to return
`undefined` instead of raising an error, returning undefined
is the default behaviour.
2023-12-01 21:14:24 +00:00
Richard Bowman
146fccfa80 comment out problematic fetch 2023-12-01 02:43:31 +00:00
Richard Bowman
0cd8ecd2d5 Add error checking to mixin thing functions
Now we'll get an error if undefined URLs are about to be fetched.
The error will contain thing and affordance, for debugging.
2023-12-01 02:43:17 +00:00
Richard Bowman
ee641f5cd2 Comment out 2 problematic tabs 2023-12-01 02:31:59 +00:00
Richard Bowman
f87594e7af Hide error from CSM if it's uncalibrated
The error still appears in the console - should be fixed
eventually.
2023-12-01 02:31:49 +00:00
Richard Bowman
a31c0aa835 Error handling for CSM calibration check 2023-12-01 02:24:14 +00:00
Richard Bowman
5d87a7582e Format fixes 2023-12-01 02:23:58 +00:00
Richard Bowman
59e0cf5905 Fix action URLs 2023-12-01 02:22:49 +00:00
Richard Bowman
a6e8c7ab93 Return HTTP error properly if CSM is uncalibrated 2023-12-01 02:18:28 +00:00
Richard Bowman
65c881fea1 Make calibrateXYUri a computed property
This makes it properly reactive again.
2023-12-01 01:46:11 +00:00
Richard Bowman
f97dcb6abc More tidying up to use new thing property functions 2023-12-01 01:45:45 +00:00
Richard Bowman
89cf58e8c7 Prepend thing description base URL 2023-12-01 01:45:22 +00:00
Richard Bowman
623cb5e8cb Use central read/write property, fix length issue
.length was failing if value was undefined - now worked around.
2023-12-01 01:44:22 +00:00
Richard Bowman
ccf9b38c34 Use thingAvailable via computed prop
Computed properties are needed to make things reactive.
2023-12-01 01:28:08 +00:00
Richard Bowman
55305a67f4 Remove old print statement 2023-12-01 00:58:29 +00:00
Richard Bowman
471a89cc72 Update paneCapture with new-style thing access 2023-12-01 00:56:13 +00:00
Richard Bowman
ca6988ca99 Update statusPane with new-style thing access 2023-12-01 00:55:56 +00:00
Richard Bowman
9c3c2bb043 Update CSMSettings to use new-style access
Also deleted a lot of old code (which wasn't running)
2023-12-01 00:55:25 +00:00
Richard Bowman
ba76561065 Update calibration modal to use cached TDs and new URLs 2023-12-01 00:54:54 +00:00
Richard Bowman
c2ec060df9 Switch to using TDs in the store 2023-11-30 23:22:10 +00:00
Richard Bowman
8865d88e20 Remove unnecessary components 2023-11-30 23:22:00 +00:00
Richard Bowman
54df1faeeb Linter fixes 2023-11-30 23:21:45 +00:00
Richard Bowman
f1f6ed5f80 Provide centralised readproperty, writeproperty, and action URLs 2023-11-30 22:51:10 +00:00
Richard Bowman
6c48444126 Removed vestigial code from CSMSettings 2023-11-30 09:14:04 +00:00