fdhwlib
2.0.25
|
#include <sltauger.h>
The class Slt provides the definition for the registers of the second level trigger board (SLT) of the version 4 electronics.
The names of the registers are choosen as found in the hardware description. For a systematic access to all registers without knowledge of the specific register structure the array regList is introduced. The array contains a list of all available registers.
Definition at line 77 of file sltauger.h.
Status of the electronic:
Reimplemented from hw4::Slt.
Definition at line 174 of file sltauger.h.
hw4::SltAuger::SltAuger | ( | int | ID, |
const char * | inifile = "FE.ini" |
||
) |
virtual hw4::SltAuger::~SltAuger | ( | ) | [virtual] |
int hw4::SltAuger::checkActualTime | ( | long int * | tDiff, |
long int * | tDiffEye, | ||
int * | tMeas, | ||
int * | tPhase, | ||
long int * | tDiffGps = 0 , |
||
int | id = 0 , |
||
int | n = 1 , |
||
const char * | gpsserver = "localhost" , |
||
int | gpsport = 0 |
||
) |
Compare the PC clock and the hardware clock of all connected telescopes.This function is an extension for more than one telescope connected in PBUS_IP mode.
tDiff | The difference t(Hardware) - t(MirrorPC) in seconds. |
tDiffEye | The difference t(MirrorPC) - t(EyePC) in seconds. |
tMeas | The measurement point in ms relative to the last second strobe |
tPhase | The phase in ms between the GPS time of the hardware and the NTP time of the EyePC: t(Hardware) - t(EyePC) t is the time of the second strobe in each case. |
tDiffGps | Difference of the gps clock Two values: oncode time and auger counter |
id | Number of the telescope to test. 0 (default) is the actual telescope |
n | Number of telescopes to analyse If n > 1 you need to provide a array for the first argument (tDiff). |
gpsserver | Hostname of the gpsserver (default: localhost) |
gpsport | Port of the gpsserver (0 to use the default port) |
Reimplemented from hw4::Slt.
void hw4::SltAuger::checkDeadTime | ( | unsigned long long * | tDead, |
unsigned long long * | tVeto, | ||
double * | tRecord, | ||
double * | tPageFull, | ||
procDuration * | tMeas = 0 |
||
) |
Check the operation time of the crate.
Reimplemented from hw4::Slt.
int hw4::SltAuger::checkTime | ( | double * | tDiff = 0 , |
int * | tSecErr = 0 , |
||
int * | tPhase = 0 , |
||
procDuration * | tPC = 0 |
||
) |
Check hardware and PC clock synchrony.
The approach used is faster than that implemented in checkActualTime(). It uses the subsecond counters to determine second error and phase between hardware and PC clock.
The function checks only the selected telescope.
return 0 Ok, -1 hardware not responding, bit 1 warning internal second strobe, bit 2 time error param tDiff Difference tHw - t PC [s] param tSecErr Second error tHw - t PC [s] param tPhase Offset between the second strobes in Hw and PC [us] param tPC Measurement intervall.
Reimplemented from hw4::Slt.
std::string hw4::SltAuger::convertTimeToText | ( | unsigned long long | time, |
int | showSubSecs = 0 |
||
) |
Convert ded or veto times to a character string.
Reimplemented from hw4::Slt.
void hw4::SltAuger::convertToGPS | ( | SltTime * | time, |
time_t | t_utc | ||
) |
Convert to GPS time.
Reimplemented from hw4::Slt.
void hw4::SltAuger::convertToUTC | ( | time_t * | t_utc, |
unsigned long | time | ||
) |
Convert the Hardware second counter the the format used by the PC (UTC time started at 1.1.1970)
t_utc | Second counter in UTC format |
time | Time in Hardware format |
Reimplemented from hw4::Slt.
void hw4::SltAuger::getActivePages | ( | int | time, |
int * | pages, | ||
int * | continous | ||
) |
Get the number of active and the fraction of continously trigger pages in a given interval.
time | Age of the considered pages in seconds (0 all time) |
pages | Pointer to the number of active pages |
continous | Pointer to the number of continuous triggered pages |
Reimplemented from hw4::Slt.
void hw4::SltAuger::getActualTime | ( | SltTime * | time | ) |
Get the actual time of the system.
Note: The system runs with GPS time. The GPS second count differs from the UNIX System time by about 10 years.
Reimplemented from hw4::Slt.
RunMode hw4::SltAuger::getRunMode | ( | ) |
Get System state.
The system state is defined by the configuration of the signal sources and the level of the signals.
Reimplemented from hw4::Slt.
std::string hw4::SltAuger::getRunModeText | ( | ) |
Give text output for the run modes.
Reimplemented from hw4::Slt.
std::string hw4::SltAuger::getRunModeText | ( | RunMode | mode | ) |
int hw4::SltAuger::readDeadTime | ( | unsigned long long * | tDead, |
unsigned long long * | tVeto, | ||
unsigned long long * | tInhibit | ||
) |
Read dead and veto times Calculate the inhibit time by substracting both.
The inhibit time is only valid if the function returns zero.
Reimplemented from hw4::Slt.
unsigned long hw4::SltAuger::setActualTime | ( | ) |
Synchronize the actual time of the system with the local PC clock.
To set the correct value of the second, the function waits 300ms after the next second change. Then the UTC second counter ist converted to GPS seconds second counter is written. The hardware will set this value with the next second strobe. Finally the function checks, whether it was possible to finish the operation within one second.
Reimplemented from hw4::Slt.
Reimplemented from hw4::Slt.
Definition at line 364 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 284 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 332 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 368 of file sltauger.h.
Definition at line 366 of file sltauger.h.
Interval of the dead time checks.
Reimplemented from hw4::Slt.
Definition at line 372 of file sltauger.h.
unsigned long long hw4::SltAuger::deadStart[24] |
Dead time counter at start in interval.
Reimplemented from hw4::Slt.
Definition at line 375 of file sltauger.h.
Counter for the dead-time.
Use the command reset dead-time to reset the counter before starting the data aquisition run.
Reimplemented from hw4::Slt.
Definition at line 276 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 286 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 347 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 345 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 342 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 326 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 340 of file sltauger.h.
The register contains the interrupt mask.
High bits will disable the interrupt and low bits will enable it.
Reimplemented from hw4::Slt.
Definition at line 247 of file sltauger.h.
The register gives the actual interrupt status of the SLT board.
After the interrupt acknowledge cycle the register is cleared.
Name in Slt fpga documentation: Interrupt Request
Reimplemented from hw4::Slt.
Definition at line 256 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 354 of file sltauger.h.
Timing and trigger information of the recorded events.
Defines the number of active registers in the page numbers list This register will contain always 64 unless some registers should be taken out of operation.
Reimplemented from hw4::Slt.
Definition at line 322 of file sltauger.h.
Status register of the page controller.
Reimplemented from hw4::Slt.
Definition at line 305 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 324 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 280 of file sltauger.h.
Check of the pixel bus connection.
Reimplemented from hw4::Slt.
Definition at line 264 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 282 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 352 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 328 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 334 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 330 of file sltauger.h.
List of three hardware semaphores to synchronize the hardware access independant from software means.
Reimplemented from hw4::Slt.
Definition at line 260 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 278 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 299 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 356 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 302 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 338 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 336 of file sltauger.h.
Coincidence time T1 [100ns].
The system will generate a next page signal T1 * 100ns after a trigger is detected.
Reimplemented from hw4::Slt.
Definition at line 311 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 360 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 358 of file sltauger.h.
Reimplemented from hw4::Slt.
Definition at line 362 of file sltauger.h.
Control and status register for additional usct functions.
Reimplemented from hw4::Slt.
Definition at line 289 of file sltauger.h.
Additional register for usct functions.
Reimplemented from hw4::Slt.
Definition at line 292 of file sltauger.h.
unsigned long long hw4::SltAuger::vetoStart[24] |
Veto counter at start of interval.
Reimplemented from hw4::Slt.
Definition at line 378 of file sltauger.h.
Counter for the veto-time.
Use the command reset dead-time to reset the counter before starting the data aquisition run.
Reimplemented from hw4::Slt.
Definition at line 270 of file sltauger.h.