DCS Download

From ift

Detector Control System

Since there are several packages required for a full DCS for Front-end electronics this page will accumulate versions which have been testet together. It's also reasonable to have only one place for downloading.


  • Version 0.9.1 with CE v 0.9.2 for RCU
    • core updated to 0.9.1
    • Logging
      • INFO log level removed from core default log level
      • log level for initialization is 'Info', after init changed to 'Warning'
    • State Machines
      • support for temporary states and guard structure added
      • Handler for USER defined states added to dispatcher, dynamic transition handling implemented
      • high-level commands CE_GET_TRANSITIONS, CE_GET_STATENAME, CE_GET_STATES, and CE_GET_STATE implemented for devices
    • MsgBuffer access encapsulated completely in separate class DCSCMsgBuffer
      • check of msgBufferInterface driver and intelligent handling of failures
    • TPC/RCU
      • MAIN state machine corrected according to the lates agreements
      • ramping of FECs power on/off, FECs are switched with at least 1 second delay between each other
      • apply final naming scheme for FECs if server name follows the naming rule TPC-FEE_x_y_z.
      • ACTEL control device added
    • Commands
      • command set version 4 and 5
      • FEE_CONFIGURE improved: scanning of hardware address and printout, history of pending FEE_CONFIGURE commands
    • Misc
      • CE_FORCE_CH_UPDATE updates all services beginning with specified string
      • service update is stopped during command execution
  • Version 0.8.1 with CE v 0.9 for RCU
    • core updated to 0.8.1
    • CE++ interface finnished, fully object oriented CE
    • TPC and PHOS CE converted to CE++
    • support and examples for TRD and FMD added
    • CE publishs also int and char channels
    • Sub-device handling implemented
    • ACTIONS can be send to all sub-device state machines
    • user defined states added to StateMachine, flexible translation scheme by CEStateMapper object
    • rpm support added
    • RCU CE
      • detector flavors derive from RCU CE base class
      • flexible branch layout
      • detector specific FEC implementation inherits from FEC base class
      • RCU registers published as int channels, currently AFL and ERRST
      • switch for 5/8-bit SlowControl interface foreseen, 8-bit access has to be implemented
  • Version 0.7.6 with CE v 0.8.5 for RCU
    • conversion to feeserver core version 0.7.6
    • command set version 3: access commands for all RCU registers added
    • file descriptor leak in shell program execution fixed
    • benchmark output enabled by --enable-benchmark
    • FEC simulation implemented, enabled by --enable-fecsim
    • all probing for RCU firmware features and FEC configuration is disabled by default and can be enabled by --enable-auto-detection
  • Version 0.7.3 with CE v 0.8 for RCU
    • CE converted to C++
    • base classes for state machines
    • FEE_CONFIGURATION commands implemented
    • high-level commands and actions implemented
    • FeeServer used in TPC commissioning from May 2006
    • CE log messages both printed to std channels and sent as DIM messages
  • Version 0.7.3 with CE v 0.6.2 for RCU
    • version of the DCS workshop March 06
    • Note: this version does not send any log messages from the ControlEngine through the DIM message channel (will be fixed in the next version).
  • Version 0.7.3 with CE v 0.5 for RCU


  • Version 0.6
  • Version 0.5
    • Includes updated version of FeeClientLibImp, capable of communicating simultaneously with several FeeServers even if they respond in different order than called.
    • View README file on how to install package.


  • Version 0.5.0
    • Note: there have been changes in the naming of the services, FeeServer versions 0.7-rcu-0.5 or later require at least version v0.4.3 of the InterComLayer
  • Version 0.4.2
    • this version of the InterComLayer works only with FeeServers 0.7-rcu-0.4


ARM cross compiler

DCS board software for TPC

RCU shell

To update the rcu shell on the DCS board unpack the corresponding tar file, e.g.

#logon to dcs board
cd /tmp
wget http://www.ift.uib.no/~kjeks/download/rcu-sh-1.4.tar.gz
tar xzvf rcu-sh-1.4.tar.gz -C /
  • rcu-sh version 1.4
    • new DCS board firmware v2.2 supported
      • writing of compressed data
      • faster flash access
  • rcu-sh 1.5
    • requires driver version 0.6
    • lock functionality enhanced

Source code

The source code of rcu-sh, drivers and additional RCU Flash memory tools.

RCU bus driver

To update the rcubus driver on the DCS board unpack the corresponding tar file, e.g.

#logon to dcs board
cd /tmp
wget http://www.ift.uib.no/~kjeks/download/rcubus_driver_0.6-debug.tgz
tar xzvf rcubus_driver_0.6-debug.tgz -C /

DCS board scripts

Network setup Tools

Name server

Download Archive

Check the Download Archive if you are interested in ancient stuff.


The RCU Gui written by Christian H. Chritensen

FeeCom software

The core FeeCom software can be found at

Further information and downloads for the ARM linux on the DCS board

  • Armlinux for the DCS board by Tobias Krawutschke