pflib v2.7.0-1-gd371ab6a
Polarfire Interaction Library
Hcal.h
1#ifndef pflib_hcal_inc_
2#define pflib_hcal_inc_
3
4#include "pflib/ROC.h"
5#include "pflib/I2C.h"
6#include "pflib/Bias.h"
7#include "pflib/Elinks.h"
8#include "pflib/GPIO.h"
9#include "pflib/FastControl.h"
10#include "pflib/DAQ.h"
11
12namespace pflib {
13
17class Hcal {
18 public:
20
22 ROC roc(int which);
23
25 Bias bias(int which);
26
28 void hardResetROCs();
29
31 uint32_t getFirmwareVersion();
32
34 void softResetROC(int which=-1);
35
37 void resyncLoadROC(int which=-1);
38
40 Elinks& elinks() { return elinks_; }
41
43 FastControl& fc() { return fc_; }
44
46 DAQ& daq();
47
48 private:
51
54
57
60
63
66
67};
68
69}
70
71
72#endif // pflib_hcal_inc_
The HGC ROC has 4 MAX5825 chips doing the DAC for the bias voltages.
Definition: Bias.h:133
Interface with DAQ via a WishboneInterface.
Definition: DAQ.h:16
Representation of FastControl controller in the Polarfire.
Definition: FastControl.h:12
Representation of GPIO controller in the Polarfire.
Definition: GPIO.h:12
representing a standard HCAL motherboard
Definition: Hcal.h:17
Elinks & elinks()
get the Elinks object
Definition: Hcal.h:40
DAQ daq_
The DAQ interface.
Definition: Hcal.h:65
Bias bias(int which)
Get an I2C interface for the given HGCROC board's bias bus
Definition: Hcal.cxx:30
WishboneInterface * wb_
The wishbone interface.
Definition: Hcal.h:50
uint32_t getFirmwareVersion()
Get the firmware version.
Definition: Hcal.cxx:68
void softResetROC(int which=-1)
Generate a soft reset to a specific HGCROC board, -1 for all.
Definition: Hcal.cxx:42
DAQ & daq()
get the DAQ object
Definition: Hcal.cxx:72
I2C i2c_
The I2C interface.
Definition: Hcal.h:56
FastControl fc_
The FastControl interface.
Definition: Hcal.h:62
ROC roc(int which)
Get a ROC interface for the given HGCROC board.
Definition: Hcal.cxx:23
void resyncLoadROC(int which=-1)
Generate a resyncLoad to a specific HGCROC board, -1 for all.
Definition: Hcal.cxx:54
FastControl & fc()
get the FastControl object
Definition: Hcal.h:43
Elinks elinks_
The Elinks interface.
Definition: Hcal.h:59
void hardResetROCs()
Generate a hard reset to all the HGCROC boards.
Definition: Hcal.cxx:37
GPIO gpio_
The GPIO interface.
Definition: Hcal.h:53
Class which encapsulates the I2C controller in the Polarfire.
Definition: I2C.h:13
Definition: ROC.h:15
Abstract interface for wishbone transactions, used by ~all classes in pflib.
Definition: WishboneInterface.h:15
Polarfire Interaction Library.
Definition: Backend.h:8