Skip to content

paulscherrerinstitute/jstriptool

Repository files navigation

Overview

jstriptool is a reimplementation of StripTool in Java.

Requirements

  • Java 11 or superior.

Binaries

Releases can be downloaded from: https://github.com/paulscherrerinstitute/jstriptool/releases

Building

Before being able to use gradle either comment the uploadArchives task in the build.gradle or create a ~/.gradle/gradle.properties file with following contents:

artifactoryUser=xxx
artifactoryPwd=xxx
artifactoryUrlRel=xxx
artifactoryUrlLibSnap=xxx

The JAR file jstriptool--fat.jar can be built executing:

./gradlew build

After executing the build command, the file jstriptool--fat.jar is located in the folder ./build/libs.

RPM

To build the RPM Java is required to be installed on your build machine (as the compilation of the Java code is not done inside the docker build container).

To build the RPM, generate the fat jar first:

./gradlew clean fatJar

Afterwards run the docker rpm build container as follows (for RHEL7):

docker run -it --rm -v `pwd`:/data paulscherrerinstitute/centos_build_rpm:7 package jstriptool.spec

The resulting rpm will be placed in the rpm folder.

For SL6 use following command to build the RPM:

docker run -it --rm -v `pwd`:/data paulscherrerinstitute/centos_build_rpm:6 package jstriptool.spec

Launching

Launch the application typing:

java -jar jstriptool-<version>-fat.jar <startup options...> <file name>
  • If is provided, the plot window is opened.
  • If is not provided, the configuration window is opened.

If the '-l' options is set then the last argument is a list of channels to be displayed and not a file name:

java -jar jstriptool-<version>-fat.jar <startup options...> -l \"<channel_1> <channel_2> ...\"

Startup Options


Option Description
-l Instead of fileneme, last argument is a channel list: "<channel_1> <channel_2> ..."
-default=<file_name> Sets default configuration file.
-home=<folder_name> Sets home folder.
-config When filename is provided, shows the configuration dialog too.
-laf=<name> Sets the look and feel: nimbus, metal, dark, system, or LAF class name.
-aa=false Disable anti-aliasing (lower the quality but increase performance).
-xrm=<resource_name>:<value> Set graphical resources. Valid names: StripTool.StripGraph.width and StripTool.StripGraph.height.
-clog=<level> Console log level: OFF, SEVERE, WARNING, INFO, FINE, FINER, FINEST, ALL.
-cli Enables command line interface.
-sync Disable use of channel monitors - use blocking get instead.
-hide_invalid Does not display invalid channel values.
-debug Shows debug information.
-cmd="<cmd_1>;<cmd_2>..." List of commands for changing the plot configuration (';' separated). See 'Commands' section.
-h Displays help message.

The following options are used to override the EPICS configuration, as defined in https://www.slac.stanford.edu/grp/ssrl/spear/epics/base/CAref.html#EPICS

Option Range
-EPICS_CA_ADDR_LIST=<value> {"N.N.N.N N.N.N.N:P ...}
-EPICS_CA_AUTO_ADDR_LIST=<value> {YES, NO}
-EPICS_CA_CONN_TMO=<value> r > 0.1 seconds
-EPICS_CA_BEACON_PERIOD=<value> r > 0.1 seconds
-EPICS_CA_REPEATER_PORT=<value> i > 5000
-EPICS_CA_SERVER_PORT=<value> i > 5000
-EPICS_CA_MAX_ARRAY_BYTES=<value> i >= 16384

Environment Variables

The following environment variables are supported, as described in https://epics.anl.gov/EpicsDocumentation/ExtensionsManuals/StripTool/StripTool.html#Environment:


Environment Variable Description
STRIP_SITE_DEFAULTS The full path name of a site application defaults file.
STRIP_FILE_SEARCH_PATH The search path for finding configuration files that are specified on the command line.

Commands

Commands can be used to configure the plots, through the command line interface or with the "-cmd" startup option.


Command Description
add <channel> Adds a plot.
del <channel or index> Removes a plot.
min <channel or index> <value> Sets plot minimum value.
max <channel or index> <value> Sets plot maximum value.
range <channel or index> <min> <max> Sets plot range.
log <channel or index> <value> Value TRUE/FALSE sets plot logarithmic/linear.
color <channel or index> <color> Sets plot color: R,G,B or colorname.
span <time in seconds> Sets plot time span.
poll <time in seconds> Sets channel update interval - 0 for monitored.
redraw <time in seconds> Sets plot redraw interval.