From 6ce2fa6c7bcc3240d7890803ba881f9cbf130e79 Mon Sep 17 00:00:00 2001 From: holler Date: Thu, 12 Mar 2026 11:06:48 +0100 Subject: [PATCH] some updates in the documentation of flomni --- docs/user/ptychography/flomni.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/docs/user/ptychography/flomni.md b/docs/user/ptychography/flomni.md index 26e8946..f444d6a 100644 --- a/docs/user/ptychography/flomni.md +++ b/docs/user/ptychography/flomni.md @@ -50,16 +50,16 @@ Manually move the gripper to a transfer position After the sample transfer the sample stage moved to the measurement position with your new sample. The Xray eye will automatically move in and the shutter will open. You may already see the sample in the omny xeye interface running on the windows computer. If you see your sample already at the approximately correct height, you can skip steps 1 to 3. Otherwise adjust the height: -1. `flomni.rt_feedback_disable()` disable the closed loop operation to allow movement of coarse stages +1. `flomni.feedback_disable()` disable the closed loop operation to allow movement of coarse stages 1. `umvr(dev.fsamy, 0.01)`, attention: unit , move the sample stage relative up (positive) or down (negative) until the sample is approximately vertically centered in xray eye screen 1. `flomni.xrayeye_update_frame()` will update the current image on the xray eye screen -1. `flomni.xrayeye_alignment_start()` start the coarse alignment of the sample by measuring (clicking in the X-ray eye software) the sample position at 0, 45, 90, 135, 180 degrees. Then use the matlab routine `SPEC_ptycho_align.m` to fit this data. +1. `flomni.xrayeye_alignment_start()` start the coarse alignment of the sample by measuring (clicking in the X-ray eye software) the sample position at 0, 45, 90, 135, 180 degrees. It will show the fit data when finished. These will be 1. `flomni.read_alignment_offset()` read the generated alignment data. #### Fine alignment After the xrayeyealign, a fine alignment needs to be performed using ptychography. -_To bypass the fine alignment: `feye_out`_ +_To bypass the fine alignment: `flomni.feye_out`_ 1. `flomni.tomo_parameters()` Adjust the ptychographic scan parameters for performing an alignment scan. Typically FOVX = FOVX(Xrayeye)+20 mu, shell step = beamsize/2.5, number of projections and tomo mode are ignored in the alignment scans. @@ -96,15 +96,17 @@ During operation the BEC GUI will show the relevant cameras or progress informat 'flomnigui_show_xeyealign()' will show the XrayEye alignment GUI -## How to setup flOMNI (software) +## How to start flOMNI (software) This part of the manual is intended for beamline staff and expert users The nano-positioning is controlled by a feedback loop running on a real-time linux based computer. With all related hardware connected, this loop has to be started manually. -1. Login to the computer by `ssh control@mpc2680`. The password is "engine". +1. Login to the computer by `ssh control@mpc2844`. The password is "engine". 1. `cd OMNY/flOMNI/` -1. `./startflOMNI` +1. `./startflOMNItmux.sh` +1. Ctrl+b d will detach from the session and one can logout +1. To attach to the session, `cd OMNY/flOMNI/` and `./attach_flomni.sh` Once the loop has started, it is possible to start bec with the flOMNI configuration file. @@ -116,14 +118,20 @@ The flOMNI scripts can be loaded manually by `flomni = Flomni(bec)` Loading the flOMNI configuration (this command will load the OMNY configuration only - isolated from the beamline) -`bec.config.update_session_with_file("/bec/csaxs_bec/csaxs_bec/device_configs/flomni_config.yaml")` - - +`bec.config.update_session_with_file("/sls/x12sa/config/bec/production/csaxs_bec/csaxs_bec/device_configs/ptycho_flomni.yaml")` +For operation at the beamline one needs to edit the main.yaml and include flomni there. +`bec.config.update_session_with_file("/sls/x12sa/config/bec/production/csaxs_bec/csaxs_bec/device_configs/main.yaml")` If the realtime system is restarted, bec will lose communication. To restart: `flomni.rt_off()` … then wait a few seconds `flomni.rt_on()` +## How to shutdown flOMNI + +Login to mpc2844, cd OMNY/flOMNI, ./attach_flomni.sh, in the realtime window q, quit and sudo shutdown. +Login to flomnicamserver and sudo shutdown. +Switch off everything... + ### Initialization of the stages The stages of flOMNI are referenced in respect to their endswitches. The stages have to be initialized at the beginning of a run or when the Galil motor controllers have been reset or restarted. To see the status of the stages following commands are available: @@ -131,9 +139,6 @@ The stages of flOMNI are referenced in respect to their endswitches. The stages Show the status of all galil controllers (all stepper motors and the UPR rotation stage) `dev.fsamx.controller.galil_show_all()` -The same holds true for the Smaract stages which control the OSA position. Their status can be checked by -`dev.fosax.controller.show_all()` - In case referencing of the flOMNI stages is required, run `flomni.flomni_init_stages()` This script will first verify that the stages are not in an initialized state, and then reference all stages in a safe way. The user will be warned in case of a potentially risky situation. This mainly involves a collision risk upstream with the exposure box exit window. It might be worth to check clearance prior to calling the init skript.