B1 · Manual mode — lightsheet brightfield live view + acquire-safety#64
Closed
pskeshu wants to merge 13 commits into
Closed
B1 · Manual mode — lightsheet brightfield live view + acquire-safety#64pskeshu wants to merge 13 commits into
pskeshu wants to merge 13 commits into
Conversation
…sequence acquisition)
… illumination + acquire
…presets
Replace set_laser_power(488, 0) with set_laser_config("ALL OFF") in the
laser/off proxy route so the PLogic gate turns off every laser line, not
just the 488 nm setpoint (spec §2.7 brightfield safety).
Add device-layer handlers handle_set_laser_config / handle_get_laser_configs
(POST /api/laser/config, GET /api/laser/configs) calling
DiSPIMLightSource.set() / ._get_available_configs() on the laser_control
device (group_name="Laser"). Wire matching client methods set_laser_config /
get_laser_configs. Add unguarded GET /api/devices/laser/configs proxy route.
…re, illumination, acquire, temp
…cision gate (B1 Task 7)
…uence-stop on kickoff, park-guard
C1: DiSPIMVolumeScanner.trigger() stops any running camera sequence before
startSequenceAcquisition — prevents MMCore collision when live streamer is
active (covers both acquire_single_volume_plan and burst_plan callers).
park-guard: _park_lightsheet_sync now fires set_spim_state("Idle") once per
stream session (not per frame) and calls setPosition only when the value
changed. Cuts 4 serial round-trips per frame to 0 on steady state.
_stop_lightsheet_sequence_sync resets the guard flags.
I1: acquire/burst + acquire/volume proxy routes forward optional laser_config
from body → client. JS runLightsheetAcquire sends laser_config:"ALL OFF" in
both bodies (brightfield-safe Manual-view acquire).
I2: proxy routes forward optional piezo_center + galvo_center; JS sends
piezo_center:_lsPiezo and galvo_center:_lsGalvo (galvo confirmed degrees via
sa_offset_y / configure_y_axis chain — same unit as live param).
I3: new setLaserOff() helper calls POST /api/devices/laser/off and updates
#devices-ls-laser-status from real API result. Called on switchView('manual')
and on toggleLightsheetStream start path.
exposure: _lsExposure default and HTML input value aligned to 20 ms (matches
device-layer _ls_params default).
Tests: 4 new proxy tests for laser_config+focal-plane forwarding; streamer
_make_dl seeds _ls_parked/_ls_spim_idle. All 22 target tests pass.
Collaborator
Author
|
Superseded by #72 — the temperature + Operations/tactics suite and the new Operate (bottom-cam→SPIM) surface are consolidated onto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sub-project B1. Hand-driven imaging before automation.
Stack: →
feature/temperature-interface(A).