NSCL DDAS 12.2-009
Support for XIA DDAS at FRIB
SystemBooter.h
Go to the documentation of this file.
1
6#ifndef SYSTEMBOOTER_H
7#define SYSTEMBOOTER_H
8
9#include <stddef.h>
10#include <string>
11
13namespace DAQ {
15namespace DDAS {
16
17class Configuration;
18struct FirmwareConfiguration;
19
38public:
40 enum BootType {
43 };
44
45private:
46 bool m_verbose;
47 unsigned short m_offlineMode;
48
49public:
52
58 void boot(Configuration &config, BootType type);
59
64 void setVerbose(bool enb) { m_verbose = enb; };
69 bool isVerbose() const { return m_verbose; };
75 void setOfflineMode(unsigned short mode) { m_offlineMode = mode; };
80 unsigned short getOfflineMode() const { return m_offlineMode; };
81
82private:
88 void initSystem(Configuration &config);
96 void parallelBoot(Configuration &config, BootType type);
103 void offlineBoot(Configuration &config, BootType type);
108 void setPerModuleFirmware(Configuration &config);
116 void setModuleFirmware(Configuration &config, unsigned int mod);
125 void setDeviceFirmware(std::string fwFile, unsigned int mod,
126 unsigned int slot, std::string device);
132 void setPerModuleDSP(Configuration &config);
137 void setChannelMap(Configuration &config);
143 void populateHardwareMap(Configuration &config);
148 void logModuleInfo(Configuration &config);
149};
150
153} // namespace DDAS
154} // namespace DAQ
155
156#endif // SYSTEMBOOTER_H
Store the system configuration information needed by Readout.
Definition: Configuration.h:88
Manages the booting process for DDAS.
Definition: SystemBooter.h:37
void setOfflineMode(unsigned short mode)
Enable or disable online boot.
Definition: SystemBooter.h:75
SystemBooter()
Constructor.
Definition: SystemBooter.cpp:79
void setVerbose(bool enb)
Enable or disable verbose output.
Definition: SystemBooter.h:64
void boot(Configuration &config, BootType type)
Boot the entire system.
Definition: SystemBooter.cpp:86
bool isVerbose() const
Return the verbose state.
Definition: SystemBooter.h:69
BootType
An enum for boot type masks, legacy flags.
Definition: SystemBooter.h:40
@ FullBoot
Full boot with firmware load.
Definition: SystemBooter.h:41
@ SettingsOnly
Boot with settings only.
Definition: SystemBooter.h:42
unsigned short getOfflineMode() const
Return the boot mode of the system.
Definition: SystemBooter.h:80