Giter Club home page Giter Club logo

epics-bluesky-vm's People

Contributors

prjemian avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

epics-bluesky-vm's Issues

Show interim progress during subprocess call (starting IOCs)

When instrument.iocs.check_iocs is run from blueskyStarter.sh, it can take a long time to complete. During this time, no output is shown to the console. Consider showing a progress bar or the interim output from the subprocess call. At least print a message that the step may take a minute or more to complete.

caQtDM problem with Enable button

starting caQtDM in the new container, the pop-up menu buttons for area detector plugin Enable PVs are all white and do not respond to mouse clicks.

Clipboard01

refactor .create for instrument package here

With #12, the instrument package is part of this repo. Revise the instructions for the new repo content. Start with a git clone https://github.com/BCDA-APS/epics-bluesky-vm ~/bluesky before the first shell script is run. Need to sudo apt install git before git clone.

caQtDM could not load any plugin

Not getting all the widgets to display properly.

Clipboard01

console output
(base) apsu@apsu-beamline-simulator:~$ /tmp/docker_ioc/iocad/iocSimDetector/start_caQtDM_adsim &
[1] 3892
(base) apsu@apsu-beamline-simulator:~$ qt5ct: using qt5ct plugin
caQtDM -- file <caQtDM_stylesheet.qss> loaded as the default application stylesheet
-macro
caQtDM -- macro <P=ad:,R=cam1:>
ad_cam_image.ui
caQtDM -- file = <ad_cam_image.ui>
caQtDM -- viewer will disable monitors for hidden pages of QTabWidgets, in case of problems
          you may disable this by not defining IO_OPTIMIZED_FOR_TABWIDGETS in qtdefs.pri
caQtDM -- files will not be downloaded from an url when not locally found, while CAQTDM_URL_DISPLAY_PATH is not defined
caQtDM -- desktop size: QSize(1678, 600)
qt5ct: D-Bus global menu: no
caQtDM -- shared memory key "caQtDM shared memory::0.0:1000"
caQtDM -- created shared memory with 204808 bytes
caQtDM -- Controlsystem plugins: attempt to load from "/usr/local/epics/extensions/lib/linux-x86_64/controlsystems"
caQtDM -- Controlsystem plugins: attempt to load from "/usr/local/epics/opi/bin/linux-x86_64/controlsystems"
caQtDM -- Controlsystem plugins: attempt to load from "/usr/lib/x86_64-linux-gnu/qt5/plugins/controlsystems"
qt5ct: custom style sheet is disabled
file "/tmp/docker_ioc/synapps-6.1-ad-3.7/screens/ui/ad_cam_image.ui" will be loaded macro= "P=ad:,R=cam1:"
"QFormBuilder was unable to create a custom widget of the class 'caLabel'; defaulting to base class 'QLabel'."
Designer: The enumeration-type property fontScaleMode could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caCamera'; defaulting to base class 'QWidget'."
Designer: The enumeration-type property Zoom could not be read.
Designer: The enumeration-type property ColorMap could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caRelatedDisplay'; defaulting to base class 'QWidget'."
"QFormBuilder was unable to create a custom widget of the class 'caRelatedDisplay'; defaulting to base class 'QWidget'."
"QFormBuilder was unable to create a custom widget of the class 'caMessageButton'; defaulting to base class 'QPushButton'."
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property colorMode could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caMessageButton'; defaulting to base class 'QPushButton'."
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property colorMode could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caTextEntry'; defaulting to base class 'caLineEdit'."
"QFormBuilder was unable to create a custom widget of the class 'caLineEdit'; defaulting to base class 'QLineEdit'."
Designer: The enumeration-type property colorMode could not be read.
Designer: The enumeration-type property precisionMode could not be read.
Designer: The enumeration-type property limitsMode could not be read.
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property formatType could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caLabel'; defaulting to base class 'QLabel'."
Designer: The enumeration-type property fontScaleMode could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caLineEdit'; defaulting to base class 'QLineEdit'."
Designer: The enumeration-type property colorMode could not be read.
Designer: The enumeration-type property precisionMode could not be read.
Designer: The enumeration-type property limitsMode could not be read.
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property formatType could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caLineEdit'; defaulting to base class 'QLineEdit'."
Designer: The enumeration-type property colorMode could not be read.
Designer: The enumeration-type property precisionMode could not be read.
Designer: The enumeration-type property limitsMode could not be read.
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property formatType could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caLineEdit'; defaulting to base class 'QLineEdit'."
Designer: The enumeration-type property colorMode could not be read.
Designer: The enumeration-type property precisionMode could not be read.
Designer: The enumeration-type property limitsMode could not be read.
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property formatType could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caLineEdit'; defaulting to base class 'QLineEdit'."
Designer: The enumeration-type property colorMode could not be read.
Designer: The enumeration-type property precisionMode could not be read.
Designer: The enumeration-type property limitsMode could not be read.
Designer: The enumeration-type property fontScaleMode could not be read.
Designer: The enumeration-type property formatType could not be read.
"QFormBuilder was unable to create a custom widget of the class 'caLed'; defaulting to base class 'QWidget'."
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile

main window logs these messages:

01-04-2021 09:04:27 special macro CAQTDM_INTERNAL_UIPATH set to /tmp/docker_ioc/synapps-6.1-ad-3.7/screens/ui/ 
01-04-2021 09:04:27 last file: /tmp/docker_ioc/synapps-6.1-ad-3.7/screens/ui/ad_cam_image.ui, macro: P=ad:,R=cam1:
01-04-2021 09:05:11 environment variable CAQTDM_TIMEOUT_HOURS could be set for quitting caQtDM automatically after some time

prepare VM image

Prepare the first VM image. Needs instructions how to download, install, get started. Post in ANL's Box account.

blueskyStarter.sh asks for wrong conda environment

(base) apsu@apsu-beamline-simulator:~$ blueskyStarter.sh 
Could not find conda environment: class_2021_03
You can list all discoverable environments with `conda info --envs`.

/home/apsu/bin/blueskyStarter.sh: line 22: ipython: command not found

notebook: show how to initialize the Kohzu monochromator

Here's a sequence of commands to initialize the monochromator (from a fresh-started IOC with all motors at zero) to 1.54 Angstrom wavelength:

(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:m45 1
Old : gp:m45                         0
New : gp:m45                         1
(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:m46 1
Old : gp:m46                         0
New : gp:m46                         1
(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:m47 1
Old : gp:m47                         0
New : gp:m47                         1
(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:KohzuOperAckBO 1
Old : gp:KohzuOperAckBO              Normal
New : gp:KohzuOperAckBO              Ack
(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:KohzuModeBO Auto
Old : gp:KohzuModeBO                 Manual
New : gp:KohzuModeBO                 Auto
(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:BraggEAO 10
Old : gp:BraggEAO                    1.97734
New : gp:BraggEAO                    10
(base) prjemian@zap:~/.../epics-docker/v1.1$ caput gp:BraggLambdaAO 1.54
Old : gp:BraggLambdaAO               1.23984
New : gp:BraggLambdaAO               1.54

Example screen (while setting energy to 10 keV):
Kohzu-energy-controls

Explain each step.

VM image should be <10 GB

Discovered a 10GB download limit at APS, rebuild the VM to be smaller than that.

Still, allow for 40GB virtual disk size

remove unnecessary packages from OS install

After the OS is installed but before the first update, remove the largest of the packages that are not used by the training software.

Includes:

  • LibreOffice
    Can save up to 2 GB for the image.

Do this before installing updates or the training stack since the total size of the VM image never decreases. (The host storage used by the VM expands to fit the content of the VM as installed.)

more for ~/.bash_aliases

need to add EDITOR=nano, see

(base) apsu@apsu-sim:~$ more .selected_editor 
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"
(base) apsu@apsu-sim:~$ more ./setup_editor_env.sh 
# -----------------------------
# file: setup_editor_env.sh
# add to ~/.bash_aliases
export EDITOR=nano
(base) apsu@apsu-sim:~$ grep EDITOR ~/.bash_aliases 
(base) apsu@apsu-sim:~$ 

add soft links to caQtDM & MEDM starters

caQtDM:

cd ~/bin
ln -s /tmp/docker_ioc/iocgp/xxx-R6-1/start_caQtDM_xxx ./start_caQtDM_gp
ln -s /tmp/docker_ioc/iocad/iocSimDetector/start_caQtDM_adsim .//start_caQtDM_ad

temperature

not temperature_readback

also need a tscan run in the databroker

MEDM fonts not found

(base) apsu@apsu-beamline-simulator:~$ /tmp/docker_ioc/iocgp/xxx-R6-1/start_MEDM_xxx &
[2] 10495
(base) apsu@apsu-beamline-simulator:~$ 

medmInit: Unable to load font widgetDM_4
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_6
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_8
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_10
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_12
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_14
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_16
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_18
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_20
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_22
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_24
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_30
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_36
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_40
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_48
  Trying default (fixed) instead

medmInit: Unable to load font widgetDM_60
  Trying default (fixed) instead
MEDM Version 3.1.16: Loading aliased fonts.................

increase size of virtual disk

The 30GB disk is no 88% full. Increase to 40 GB (and be conservative about disk usage). The Disk Usage tools can help identify where the space is used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.