NSCL DDAS 12.2-009
Support for XIA DDAS at FRIB
Public Member Functions | List of all members
CBoot Class Reference

#include <Boot.h>

Inheritance diagram for CBoot:
Inheritance graph
[legend]
Collaboration diagram for CBoot:
Collaboration graph
[legend]

Public Member Functions

 CBoot (Tcl_Interp *pInterp, DAQ::DDAS::Configuration &config)
 
virtual ~CBoot ()
 
virtual int operator() (std::vector< Tcl_Obj * > &objv)
 
- Public Member Functions inherited from CTclCommand
 CTclCommand (Tcl_Interp *pInterp, const char *cmdName)
 
virtual ~CTclCommand ()
 
virtual int operator() (std::vector< Tcl_Obj * > &argv)=0
 

Additional Inherited Members

- Protected Member Functions inherited from CTclCommand
Tcl_Interp * getInterpreter ()
 
void requireExactly (std::vector< Tcl_Obj * > &objv, int nParams)
 
void requireAtMost (std::vector< Tcl_Obj * > &objv, int max)
 
void setResult (const char *result)
 
void setResult (Tcl_Obj *result)
 
void setResult (double value)
 
void setResult (int value)
 
int getInteger (Tcl_Obj *intObj)
 
double getDouble (Tcl_Obj *dblObj)
 

Detailed Description

This class provides the pixie16::boot command which accepts a two parameters, the module index of the module to boot. If the user wants to boot by slot number, they must inventory the modules and look through the inventory to figure out which index corresponds to the desired slot. Note that the boot pattern will only be 0x7f which boots everything.

Note
As of 6 March 2026, the boot feature is not fully functional. If the module is running a managed firmware set (XIA standard firmware directory structure), then the boot process will work. If the user overrides the system firmware set, the reboot process will fail with an "invalid firmware" error despite initially booting properly. This issue has been reported to XIA and is currently under investigation.

Constructor & Destructor Documentation

◆ CBoot()

CBoot::CBoot ( Tcl_Interp *  pInterp,
DAQ::DDAS::Configuration config 
)

constructor

Parameters
pInterp- pointer to the interpreter our command
config- references the module configuration.

◆ ~CBoot()

CBoot::~CBoot ( )
virtual

destructor null for now.

Member Function Documentation

◆ operator()()

int CBoot::operator() ( std::vector< Tcl_Obj * > &  objv)
virtual

operator()

  • Validate the parameter, and parameter type.
  • Figure out the module hardware type.
  • Fetch the names of the various files we need to boot.
  • Boot the module.
    Parameters
    objv- the command line words.
    Returns
    int - TCL_OK for success, TCL_ERROR for failure.
    Note
    -there's only a result if errors are throw and then it's a textual error message.

Implements CTclCommand.


The documentation for this class was generated from the following files: