Supported external commands - art-daq/artdaq GitHub Wiki

Supported external commands in core artdaq

08-Jan-2013 - KAB - based on discussions within the group

Supported external commands

Commands which affect the state of the process:

  1. init(string ParameterSet) - initializes (configures) the process (and any associated hardware); returns a success or failure report
  2. start(integer runNumber) - begins a run; returns a success or failure report
  3. stop() - ends a run; returns a success or failure report
  4. pause() - pauses data taking during a run; returns a success or failure report
  5. resume() - resumes data taking during a run; returns a success or failure report
  6. shutdown() - prepares the process to be stopped; returns a success or failure report
  7. soft_init(string ParameterSet) - initializes (configures) some fraction of the software components; returns a success or failure report
  8. reinit(string ParameterSet) - re-initializes parts of the software (or the hardware) during a run; returns a success or failure report

Commands which gather information:

  1. report(string which) - returns statistics or error reports from some or all of the components in the process. The “which” argument specifies which statistics to report.
  2. status() - returns the current externally visible “state”
  3. reset_stats(string which) - resets some or all of the statistics in the process. The “which” argument specifies which statistics to reset. Returns a success or failure report.
  4. legal_commands() - returns the subset of the external commands which are currently legal given the state of the process

Externally visible “states”

  1. Booted
  2. Ready
  3. Running
  4. Paused
  5. Error

Allowed external commands for each “state”

  1. Booted
    1. init(pset)
  2. Ready
    1. init(pset)
    2. soft_init(pset)
    3. start(runNumber)
    4. shutdown()
  3. Running
    1. pause()
    2. stop()
    3. init(pset)
    4. soft_init(pset)
    5. reinit(pset)
  4. Paused
    1. resume()
    2. stop()
    3. init(pset)
    4. soft_init(pset)
    5. reinit(pset)
  5. Error
    1. init(pset)