CDT I-BM API 1.0.0
Loading...
Searching...
No Matches
CdtCascade Class Reference

CDT Cascade Beam Monitor Main class. More...

#include <CdtCascade.h>

Inheritance diagram for CdtCascade:
Collaboration diagram for CdtCascade:

Public Member Functions

 CdtCascade (RMMAPI *rmmApi, int ring, int node, std::string name, TiaBoardVersion tia_board_version)
 Constructor for the CdtCascade class.
 
 CdtCascade (RMMAPI *rmmApi, int ring, int node, std::string name)
 Constructor for the CdtCascade class.
 
uint32_t readProperty (CascadeProp prop, rmmStatus *stat=nullptr)
 Reads a cascade Property from hardware.
 
rmmStatus writeProperty (CascadeProp prop, uint32_t val)
 Writes a cascade Property to hardware.
 
RMMResult getProperty (CascadeProp prop)
 Reads a cascade Property from program memory.
 
rmmStatus setProperty (CascadeProp prop, uint32_t val)
 Writes a cascade Property to program memory.
 
rmmStatus writeDefaultProperty (CascadeProp prop)
 Gets a property from memory, writes it into hardware.
 
void configFE ()
 
- Public Member Functions inherited from CdtHv
 CdtHv (std::string name, TiaBoardVersion tia_board_version)
 
TiaBoardVersion getTiaBoardVersion () const
 
const std::string & getTiaBoardVersionLabel () const
 
void setHvTimeout (uint32_t val)
 
uint32_t getHvTimeout ()
 
bool isHVRampRunning () const
 Checks if the high-voltage (HV) ramp process is currently running.
 
void requestHVStop ()
 Requests to stop ongoing operations.
 
void resetHVStop ()
 Resets the stop request flag, allowing operations to continue.
 
double readHV (rmmStatus *status=NULL)
 Reads the measured voltage from the HV chip via I2C.
 
void writeHV (const double voltage, const double voltagePerSec)
 Writes a voltage value to the HV chip, ensuring proper enabling and smooth ramping.
 
bool isStopHVRequested () const
 Checks if a stop request has been issued.
 
- Public Member Functions inherited from CdtBaseBMAPI
 CdtBaseBMAPI (RMMAPI *rmmApi, int ring, int node, std::string name, FENRegMap additional_reg_map)
 Constructor for the CdtBm class.
 
void configAcquireTime (uint64_t cycles)
 Sets the acquisition time. Executed inside configFE right before starting the acquisition.
 
void measurementEnable (bool enable)
 Enables or disables the measurement process.
 
bool isMeasRunning ()
 Checks if the measurement is currently running.
 

Public Attributes

RMMLog log
 

Additional Inherited Members

- Protected Member Functions inherited from CdtHv
uint32_t calcDacForVoltage (const double voltage)
 Calculates the DAC value for a given voltage.
 
void jumpToVoltage (const double voltage)
 Jumps to a specific high voltage value.
 
bool isI2cRequestDone ()
 Checks if an I2C request has completed.
 
rmmStatus runI2cRequest (I2cRequestAction action, uint32_t dac_value=0xFF)
 Executes an I2C read or write request to the HV module.
 
- Protected Attributes inherited from CdtHv
std::atomic< uint32_t > previousDacValue {0}
 
TiaBoardVersion tiaVersion
 
std::string tiaBoardVersionLabel
 

Detailed Description

CDT Cascade Beam Monitor Main class.

Function with "set" and "get" in the name deal with class parameters. Function with "read" and "write" deal with the actual registers.

Constructor & Destructor Documentation

◆ CdtCascade() [1/2]

CdtCascade::CdtCascade ( RMMAPI * rmmApi,
int ring,
int node,
std::string name,
TiaBoardVersion tia_board_version )

Constructor for the CdtCascade class.

Initializes a new instance of the CdtCascade class. Calls base class CdtBm constructor. Function with "set" and "get" in the name deal with class parameters. Function with "read" and "write" deal with the actual registers.

Parameters
[in]rmmApiPointer to the RMMAPI instance used for communication and management of the RMM
[in]ringThe ring number.
[in]nodeThe node number.
[in]tia_board_versionversion of tiaBoard. f not used, defaults to 3.0.
[in]nameThe name to identify the front-end instance.

◆ CdtCascade() [2/2]

CdtCascade::CdtCascade ( RMMAPI * rmmApi,
int ring,
int node,
std::string name )

Constructor for the CdtCascade class.

Initializes a new instance of the CdtCascade class. Calls base class CdtBm constructor. Function with "set" and "get" in the name deal with class parameters. Function with "read" and "write" deal with the actual registers.

Parameters
[in]rmmApiPointer to the RMMAPI instance used for communication and management of the RMM
[in]ringThe ring number.
[in]nodeThe node number.
[in]nameThe name to identify the front-end instance.

Member Function Documentation

◆ getProperty()

RMMResult CdtCascade::getProperty ( CascadeProp prop)

Reads a cascade Property from program memory.

Parameters
[in]propCascade Property to read
Returns
RMMResult structure with status code and result value.

◆ readProperty()

uint32_t CdtCascade::readProperty ( CascadeProp prop,
rmmStatus * stat = nullptr )

Reads a cascade Property from hardware.

Parameters
[in]statoptional rmmStatus pointer to get operation status.

◆ setProperty()

rmmStatus CdtCascade::setProperty ( CascadeProp prop,
uint32_t val )

Writes a cascade Property to program memory.

Parameters
[in]propCascade Property to write
[in]valvalue to write
Returns
rmmStatus with operation status code.

◆ writeDefaultProperty()

rmmStatus CdtCascade::writeDefaultProperty ( CascadeProp prop)

Gets a property from memory, writes it into hardware.

Parameters
[in]propproperty to dump
Returns
rmmStatus with operation status code.

◆ writeProperty()

rmmStatus CdtCascade::writeProperty ( CascadeProp prop,
uint32_t val )

Writes a cascade Property to hardware.

Parameters
[in]statoptional rmmStatus pointer to get operation status.

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