fdhwlib
2.0.25
|
#include <Subrack.h>
Collection for all components of the FD electronic in the hardware level.
The class defines the access to the SLT and the 20 FLT boards. There is also a management of empty and ocupied slots.
Changes:
Subrack::Subrack | ( | const char * | inifile = "FE.ini" , |
int | mode = 0 |
||
) |
int Subrack::closeHandler | ( | ) |
Kill the interupt handler.
int Subrack::closeIRHandler | ( | ) |
Close connection to IRQ dispatcher.
void Subrack::configure | ( | ) |
void Subrack::dumpRegisters | ( | FILE * | fout = stdout , |
int | cols = 8 |
||
) |
Dump all register information.
The set of all registers defined the function + state of the electronic.
fout | output stream |
cols | number of colums that should be displayed in a line |
int Subrack::handleErrors | ( | ) |
Handle all error interrupts.
The errors are analysed and written to the error log. The error handler is started in separate process.
void Subrack::init | ( | FILE * | fout, |
char * | inifile | ||
) |
Init of the electronics.
The parameters of the registers can be used to specify the required value in the inifile.
Example:
[SltInit] Control = 00002c79 IRMask = 000001ff TestpulsAmpl = 000005dc SetSecCounter = 2daff6d5 T1 = 00000578 IRInput = 000000a3 SensorMask = 00000000 ... [FltInit] ...
fout | Output stream |
inifile | Name of the inifile |
exention to initialize all connected telescopes
how to handle the different values for different pixel / telescopes?
are the names of the registers the best choise ???
print a generic inifile with all known registers.
Is it possible to check the system based on these register values? Where to define better entities?
int Subrack::initIRHandler | ( | const char * | inifile = "" | ) |
Establish a connection to the IRQ dispatcher.
void Subrack::reset | ( | ) |
Checks for available slots.
Returns a list of bits: 1 board available 0 empty slot Checks whether a board in the slot is present The slots are numbered from 0..20. Returns the (stored) configuration of the crate. (There is no access via PBUS!) The slots are numbered from 0..20. Reset subrack, clear all register
int Subrack::testFltConfig | ( | FILE * | fout, |
int | level = 1 , |
||
bool | header = false |
||
) |
int Subrack::testFltHitrateController | ( | FILE * | fout, |
int | level = 1 , |
||
bool | useStat = false , |
||
bool | header = false |
||
) |
Test the hitrate controller.
int Subrack::testFltStatistic | ( | FILE * | fout, |
int | level = 1 , |
||
bool | header = false |
||
) |
Test the Flt statistic to measure mean ADC value and background light level.
int Subrack::testSltConfiguration | ( | FILE * | fout, |
int | level = 1 , |
||
bool | header = true |
||
) |
Test the Slt configuration.
int Subrack::waitForInterrupt | ( | unsigned long * | irVector | ) |
Wait for the next interrupt.
float Subrack::meanADCVar [private] |
pid_t Subrack::pHandler [private] |
SimpleSocket* Subrack::s [private] |
Flt* Subrack::theFlt[20] |