GithubHelp home page GithubHelp logo

coda_scripts's Introduction

coda_scripts

Author:

  • Bryan Moffit
    • TJNAF Fast Electronics and Data Acquisition

What is this for?

A collection scripts for use with DAQs running CODA 3

What do I do with it?

Install and Configuration

Setup host ssh key for automated login to CODA component clients.

Install scripts on CODA 3 Platform host, ROC and PEB clients.

If you’re not sharing this directory with the CODA Components (e.g. with NFS), repeat all of the steps for each component.

  • With git
git clone [email protected]:JeffersonLab/coda_scripts.git ~/coda/coda_scripts
  • From zip
unzip coda_scripts-master.zip ~/coda/
mv coda_scripts-master coda_scripts

Configure environment variables in setupCODA3.tcsh or setupCODA3.bash

The setup file depends on your CODA Component’s default shell

setupCODA3.bash

# if undefined, use /site
: ${CODA:=/site/coda/3.10_devel}

# CODA/.setup overwrites SESSION and EXPID, save them, or set the default values
SAVE_SESSION=${SESSION:-session}
SAVE_EXPID=${EXPID:-expid}

# Default COOL_HOME and JAVA_HOME
: ${COOL_HOME:=${HOME}/coda/cool}
: ${JAVA_HOME:=${HOME}/jdk1.8.0_152}


# Default REMEX variables
: ${REMEX_CMSG_HOST:=thishost.jlab.org}
: ${REMEX_CMSG_PASSWORD:=${EXPID}}

# Default CODA_COMPONENT_TABLE
: ${CODA_COMPONENT_TABLE:=${CODA_SCRIPTS}/config/${EXPID}/coda_component_table.cfg}

setupCODA3.tcsh

setenv CODA_SCRIPTS ${HOME}/coda/coda_scripts

setenv CODA /site/coda/3.10_devel

setenv SESSION session
setenv EXPID expid

setenv COOL_HOME ${HOME}/coda/cool
setenv JAVA_HOME ${HOME}/jdk1.8.0_152

setenv REMEX_CMSG_HOST thishost.jlab.org
setenv REMEX_CMSG_PASSWORD ${EXPID}

setenv CODA_COMPONENT_TABLE ${CODA_SCRIPTS}/config/${EXPID}/coda_component_table.cfg

Source the setupCODA3.{tcsh,bash} in shell setup file for each DAQ component

.bashrc

export CODA_SCRIPTS=~/coda/coda_scripts
source $CODA_SCRIPTS/setupCODA3.bash

.tcshrc

setenv CODA_SCRIPTS=~/coda/coda_scripts
source $CODA_SCRIPTS/setupCODA3.tcsh

Note

Similar lines may need to be set in the corresponding .bash_profile and / or .profile. One way to accomplish this is to softlink them to your .bashrc / .tcshrc

  • e.g. BASH
cd ${HOME}
ln -s .bashrc .bash_profile

Modify the config file adding each DAQ component on the host

The file defined by $CODA_COMPONENT_TABLE specifies the components that will interact with these scripts

File format:

HOSTNAME   COMPONENT_TYPE    COMPONENT_NAME   OPTIONAL_ARG
Examples
  • I have a PEB named PEB1 running on daqpc1:
daqpc1   PEB   PEB1
  • I have a ROC named ROC2 running on daqroc2 and needs to run a tcl script to set it’s randy factor on startup:
daqroc2  ROC   ROC2  -t setrf.tcl

Start the platform

As a systemd service

  • In $CODA_SCRIPTS/platform.service, modify the ExecStart to point to the script location and User to the daq user. e.g.
User=thisuser
ExecStart=/home/thisuser/coda/coda_scripts/coda_platform.sh
  • Modify the $CODA_SCRIPTS/platform.sh script for the location of setupCODA3.bash. e.g.
source /home/thisuser/coda/coda_scripts/setupCODA3.bash
  • Enable the platform service (as root).
systemctl enable /home/thisuser/coda/coda_scripts/platform.service
  • Start the platform service
systemctl start platform

Run CODA

Setup a new COOL_HOME (stores CODA configurations)

  • Run jcedit
  • Create new COOL database
  • Expert -> Session -> New
    • Enter SESSION name (matches that defined in environment)

Launch CODA3 and its components

startCoda

Restart ONLY the PEB and ROC components

restartStuff

Kill ALL CODA components started by startCoda

kcoda

coda_scripts's People

Contributors

bmoffit avatar leadmocha avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

leadmocha

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.