general BLISS presentation
BLISS demonstration 20th February, 2020
What:
A general presentation of BLISS
- to give a first general overview of BLISS
- to help users to find their way in the doc.
- presentation musst match with main page of the doc (getting started)
Duration:
- 3 1/2 hours 2h30 + questions + overflow
- 13h30 -> 17h00
1. Introduction - 10 min.
bliss_overview.md
Matias
1.1 What will you learn today
- Glossary of terms (what is redis, beacon, etc...)
1.2 What we will not talk about today (But, here you can find info:...)
- supervisor / multivisor
- but: here you can find info: ...
- e-logbook ?
- but: here you can find info: ...
- specific detector
- but: list of what is more or less supported
- BLISS programming
- but: how to load a simple sequence of commands
- BLISS configuration
SHOW HOME PAGE
1.3 Global overview (architecture)
1.4 BLISS features and improvements for ESRF experiments
Tell about Python for scripting, less overhead time, continuous scans, trajectories, new data format... (look at the BLISS strategy document)
Keep in mind: BLISS is a very new system and still in maturation.
- You will find lot of drawbacks, but do not worry, you will also find some benefits :)
- We will do our best to fix any problem, but we count on your feedback.
2. Training contents
bliss_shell.md
Piergiorgio - 15 min.
2.1 BLISS shell - BLISS conda environments
- tmux, why tmux ? features
- shell usage (F3, F5, F7, copy/pasting, remote operation...)
- typing helper
- add parenthesis
- display help on parameters to enter
- typing helper
- unlike spec, BLISS always "starts from fresh"
- BLISS has another mechanism to store persistent settings
- Sessions
bliss_motion_control_basics.md
Cyril - 20 min #1377 (closed)
2.2 Motion control basics -
wa
,sta
?,wm
,stm
?,mv
,mvr
,umv
,umvr
: showing state and moving-
🤔 stm
is not in the main doc
-
- dial/user position, offset
- change velocity, change acceleration, "acctime", change limits
- needs Seb's drawings (Linus knows)
- user units
- explain settings
- calc (=virtual) motors
- dial/user for calc motors
- calc motor on top of calc motor works ok
- calc motors with trajectories ?
bliss_counters.md
Perceval - 15 min.
2.3 Counters lscnt()
- counter types (0D, 1D, 2D)
- sampling and integrating
- different sampling counter modes
- statistics
- calc counter ? <- to be confirmed
- show an example of ExprCalcCounter
- conversion function ?
- introduce measurement groups
❕ - default measurement group
- enabling/disabling counters
bliss_standard_scans.md
Perceval - 10 min.
2.4 Standard scans - the different scans
- ascan, dscan, timescan, loopscan, meshes, lookup scan, etc.
- scan demos (without saving) No Flint first
- F5
- then, enabling display (SCAN_DISPLAY) => Flint
bliss_flint.md
Valentin - 15 min.
2.5 Flint, online data visualisation tool - role definition
- plotselect
- editing roi counters
- demo
bliss_data_policy.md
Wout (!2041 (closed)) - 15 min.
2.6 Data policy and data format - data policy
new_proposal()
new_sample()
new_dataset()
- Nexus format
- make people aware of how to deal with HDF5 files
- concurrent access problems !
- view files:
silx view
- pymca
- conversion tools ?
- demo with scans with saving
bliss_data_life.md
Sebastien - 15 min.
2.7 Data life cycle * acquisition -> publishing to redis -> clients
- use one of Cyril's drawings
* memory and TTL in redis (?)
* tell about future possibilities for data analysis
- take writer and Flint as examples
bliss_slits_alignment.md
Linus - 15 min.
2.8 Practical example: slits alignment * need **demo session**
* summary repetition of above chapters
Have to go through a more complete example
CEN, peak, etc for alignment use case goto_cen()
Data of previous scans can be retrieved to do your own calculations : SCANS[-1].get_data() ?
=== TO REVIEW ON WEDNESDAY, if we keep it or not: ====
bliss_user_sequences.md
2.9 User-defined sequences Benoit ?: code new load_script
/user_load_script
* get inspiration from E. Papillon's `user_script.py`
* namespace_name = user_load_script(full_python_file_path) OR user_load_script(python_path, "namespace_name")
* how to load a simple sequence of commands
- equivalent to `udo` spec macro
* Warning: unlike SPEC, variables defined in shell are not persistent
Presentation: Benoit or Matias or ?
If time allows
2.10 focus on a few controllers
* Lima, Wago, transfocators, shutters (the ones that we can simulate)
* how to get info from devices
2.11 basic debugging
* showing last error traceback
* we try to put simple error messages but dangerous, can be misleading if cause of the error is not the foreseen one.
* LVL2: debugon/debugoff functions
* error recorded in log ???
FAQ:
- SPEC remains - How to do a:
- fresh start ?
- reconfig ?
- How to change an offset ?
- How to do a limit search ?
- How to do a homing ?
- wait for refill
- energy ?