Feat/sample storage widget #251

Merged
holler merged 3 commits from feat/sample_storage_widget into main 2026-07-07 10:44:44 +02:00
3 Commits
Author SHA1 Message Date
holler 0564bd7baa Merge branch 'main' into feat/sample_storage_widget
CI for csaxs_bec / test (pull_request) Successful in 1m31s
CI for csaxs_bec / test (push) Successful in 1m30s
2026-07-07 10:42:53 +02:00
x12sa ce4d88a526 perf(bec_widgets): fix SampleStorageWidget poll lag
CI for csaxs_bec / test (push) Successful in 1m31s
CI for csaxs_bec / test (pull_request) Successful in 1m32s
Replace ~44 per-slot blocking device reads per poll with a single bulk
flomni_samples.read(), and add change-detection so cells only repaint
when their state actually changes. The old per-slot accessors stalled
the GUI event loop every 2s; steady-state polling now does no UI work.
Writes invalidate the changed slot's cache so local edits still repaint
immediately.
2026-07-07 10:07:37 +02:00
x12sa c9d45b69ff feat(bec_widgets): add SampleStorageWidget for flOMNI sample storage
CI for csaxs_bec / test (push) Successful in 1m30s
GUI for ftransfer_show / ftransfer_modify. Displays the
sample stage (0), gripper (100) and magazine slots 1-20 in a 4x5 grid
matching the CLI layout. Right-click per slot corrects the records
(new / rename / clear), each action confirmed by its own dialog and
written immediately. Bookkeeping only: writes flomni_samples directly
(mirroring flomni_modify_storage_non_interactive), never moves hardware.
Guarded on fsamroy; OMNY shows a not-implemented placeholder.
2026-07-03 08:03:47 +02:00