ngc 1.5.0
 
Loading...
Searching...
No Matches
ngcdcsCLDC0 Class Reference

#include <ngcdcsCLDC.hpp>

Inheritance diagram for ngcdcsCLDC0:
ngcbMOD ngcbOBJ ngcdcsCLDC ngcdcsSEQ0 ngcdcsALBIAS ngcdcsAOBIAS ngcdcsAPD ngcdcsB24 ngcdcsC20B20 ngcdcsC24 ngcdcsLISABIAS ngcdcsNGSDBIAS ngcdcsSCA ngcdcsSEQ

Public Member Functions

 ngcdcsCLDC0 (const ngcb_route_t &r, int nc, int nb)
 Constructor with route, number of clocks and number of biases.
 
 ngcdcsCLDC0 (ngcbIFC *ifc, const ngcb_route_t &r, int nc, int nb)
 
virtual ~ngcdcsCLDC0 ()
 Destructor.
 
virtual int AtOnline ()
 At online hook.
 
virtual int Selftest ()
 Execute self-test.
 
virtual int VSetup (int autoCtrl=0)
 Apply voltage setup.
 
virtual int Check ()
 Check telemetry against current setup.
 
virtual int OutputEnable ()
 Enable output.
 
virtual int OutputDisable ()
 Disable output.
 
virtual int OutputEnabled ()
 Check if output is enabled.
 
virtual int Protection (int flag)
 Enable/disable protection circuit.
 
virtual int Calibrate (int noSetup=0)
 Calibrate (offset compensation)
 
virtual void ClearCalibration ()
 Clear calibration.
 
virtual int Calibrated ()
 Check if calibration has been done.
 
virtual int Zero ()
 Set all voltages to zero.
 
virtual int VoltageDC (int num, double volt, int rangeCheck=1)
 Set DC voltage.
 
virtual int VoltageClk (int num, int l, double volt, int rangeCheck=1)
 Set clock level.
 
virtual int VoltageClk (int num, ngcdcs_clkv_t cv, int rangeCheck=1)
 Set all levels of clock.
 
virtual int VoltageRegDC (int num, int value, int rangeCheck=1)
 Set DC hex-voltage.
 
virtual int VoltageRegClk (int num, int l, int value, int rangeCheck=1)
 Set clock hex-level.
 
virtual int VoltageErrDC (int num, double volt)
 Set DC voltage error.
 
virtual int VoltageErrClk (int num, int l, double volt)
 Set clock level voltage error.
 
virtual double TelCurrent (int chan)
 Return value of last current-telemetry.
 
virtual int TelDC (int num, double *volt)
 Telemetry for DC-bias.
 
virtual int TelClk (int num, int l, double *volt)
 Telemetry for clock level.
 
virtual int TelClk (int num, ngcdcs_clkv_t *cv)
 Telemetry for clock (all levels)
 
virtual int Snapshot ()
 Telemetry snapshot.
 
virtual char * VStatusString ()
 Get voltage status string.
 
virtual int VStatus (int *s)
 Get voltage HW-status.
 
virtual int LoadCfgFile (const char *fileName=NULL)
 Load voltage configuration.
 
virtual int SaveCfgFile (const char *fileName)
 Save voltage configuration.
 
virtual int SaveErrFile (const char *fileName)
 Save error calibration.
 
virtual int Restore (const char *keyword)
 Restore keyword from the last loaded file.
 
virtual int SetupKey (const char *key, const int *idx, const char *value, int *status=NULL)
 Setup.
 
virtual int StatusKey (const char *key, const int *idx, char *value, int *status=NULL)
 Status.
 
- Public Member Functions inherited from ngcbMOD
ngcbMODoperator= (const ngcbMOD &other)
 Operator =.
 
 ngcbMOD (const ngcbMOD &other)
 Copy constructor.
 
 ngcbMOD (const ngcb_route_t &modRoute)
 Constructor with route.
 
 ngcbMOD (ngcbIFC *modDev, const ngcb_route_t &modRoute)
 Constructor with interface device and route.
 
virtual ~ngcbMOD ()
 Destructor.
 
ngcbIFCDev ()
 Return current interface device.
 
void Dev (ngcbIFC *newDev)
 Set new interface device.
 
int Connected ()
 Return 1 if device is connected, zero otherwise.
 
int Sim ()
 
int Initialize ()
 Initialize module.
 
void ErrState (const char *msg, int errorId=0)
 Go to error state.
 
virtual int CkAddrCB (int addr, const int *buffer, int size)
 Check-address call-back for alignment.
 
virtual void WrAddrCB (int addr, const int *buffer, int size)
 Write-to-address call-back for alignment.
 
virtual int Load (const char *fileName)
 Load register instruction file.
 
int Board ()
 Return the board number of the module (starts with zero)
 
void RpcCopy (void *dest, const void *src, size_t size, size_t items=1)
 Copy RPC payload.
 
int RPC (int target, int req, void *payload, unsigned int size, unsigned int *status=NULL)
 Execute RPC.
 
int ReadAddr (int addr, int *buffer, int size)
 Read from address (32-bit)
 
int WriteAddr (int addr, const int *buffer, int size)
 Write to address (32-bit)
 
int ReadAddr64 (int addr, uint64_t *buffer, int size)
 Read from address (64-bit)
 
int WriteAddr64 (int addr, const uint64_t *buffer, int size)
 Write to address (64-bit)
 
int Temperature (double *t)
 Read board temperature (degree C)
 
int BackPlane ()
 Return back-plane ID.
 
virtual void CV (int chan, double volt)
 Voltage conversion call-back.
 
virtual void Reset ()
 Align soft-states after reset.
 
virtual int Disable ()
 Call-back at transition to not operational state.
 
virtual int Enable (int check=1)
 Call-back at transition to operational state.
 
- Public Member Functions inherited from ngcbOBJ
 ngcbOBJ ()
 Constructor.
 
virtual ~ngcbOBJ ()
 Destructor.
 
void Instance (int n)
 Set instance.
 
int Instance ()
 Get instance.
 
const char * Major ()
 Instance major number.
 
int BigEndian ()
 Big-endian architecture.
 
int LittleEndian ()
 Little-endian architecture.
 
virtual char * ErrMsg ()
 Error message.
 
virtual int Success ()
 Return success.
 
virtual int Failure ()
 Return failure.
 
void CfgPath (const char *path)
 Set external configuration path.
 

Public Attributes

int vstat
 Soft-status (enabled, disabled)
 
int autoEnable
 Enable at online.
 
int autoDisable
 Disable when (re-)configuring.
 
int ilck
 Flag to enable/disable the external interlock.
 
int ilckOn
 Flag indicating whether interlock is enabled.
 
int protection
 Flag indicating whether protection has triggered.
 
int protectionOn
 Flag indicating whether protection is enabled.
 
int autoCal
 Calibrate at online.
 
double calMax
 Voltage calibration limit (in Volts)
 
ngcdcs_clk_tclk
 Clock voltages.
 
int numClk
 Number of clock voltages.
 
ngcdcs_dc_tdc
 Bias voltages.
 
int numDc
 Number of bias voltages.
 
ngcdcs_clkv_tclkTel
 Saved clock voltages telemetry values.
 
double * dcTel
 Saved bias voltages telemetry values.
 
int haveCurrentTel
 Flag, indicating whether current-telemetry is available.
 
double margin
 Margin for voltage check (in Volts)
 
double dacTime
 DAC settling time (in seconds)
 
char voltageInitFile [256]
 Voltage initialization file.
 
char cfgFile [256]
 Voltage configuration file.
 
int toggle
 Toggle new configuration.
 
int telFlag
 Flag to update telemetry.
 
double cvg1
 Voltage conversion formula gain-1.
 
double cvg2
 Voltage conversion formula gain-2.
 
double cvOffset
 Voltage conversion formula offset.
 
char serNoBoard [32]
 Serial number.
 
char serNoTrans [32]
 Transition board serial number.
 
- Public Attributes inherited from ngcbMOD
ngcbIFCdev
 Interface device.
 
ngcb_route_t route
 Local route to module (header)
 
char moduleName [64]
 Module name.
 
int id
 ID-register content.
 
int productCode
 Product code.
 
int revision
 HW revision number.
 
int firmware
 Firmware revision.
 
int boardId
 Physical board id.
 
int fitsHdr
 Enable FITS-header for this module.
 
- Public Attributes inherited from ngcbOBJ
FILE * watchdog
 Watchdog stream.
 
ngcbALARM_SYSalarmSystem
 Alarm system.
 
ngcbSERVICEservices
 System services.
 
int verboseLevel
 Verbose level.
 
int logLevel
 Logging level.
 
int xterm
 Xterm flag.
 
int debugPort
 Debug port.
 
int ignoreErr
 Ignore next error (do not log)
 
int type
 Object type.
 

Additional Inherited Members

- Protected Member Functions inherited from ngcbOBJ
virtual int BailOut (const char *pos)
 Log code position of the error and bail-out with failure.
 
virtual void Verbose (int level, const char *format,...) __attribute__((format(printf
 Verbose message if verbose level exceeds level.
 
virtual void virtual void Verbose (const char *format,...) __attribute__((format(printf
 Verbose message.
 
virtual void virtual void virtual void Log (int level, const char *format,...) __attribute__((format(printf
 Log message if logging level exceeds level.
 
virtual void virtual void virtual void virtual void Log (const char *format,...) __attribute__((format(printf
 Log message.
 
virtual void virtual void virtual void virtual void virtual void ErrLog (int severity, const char *format,...) __attribute__((format(printf
 Error log, severity is one of ngcbWARNING, ngcbFAILURE and ngcbERR_SEVERE.
 
virtual void virtual void virtual void virtual void virtual void void FeedBack (const char *format,...) __attribute__((format(printf
 Feed-back function.
 
virtual void virtual void virtual void virtual void virtual void void virtual void SendFeedBack (const char *msg)
 Feed-back sender implementation.
 
const char * CfgPath ()
 Get external configuration path.
 
int CfgPath (char *path, const char *cfgFile)
 Compose path for configuratuion file.
 
int KeyVal (const char *key, float *value)
 Get single precision floating point value from keyword string.
 
int KeyVal (const char *key, double *value)
 Get double precision floating point value from keyword string.
 
int KeyVal (const char *key, int *value)
 Get 32-bit signed integer value from decimal keyword string.
 
int KeyVal (const char *key, unsigned int *value)
 Get 32-bit unsigned integer value from decimal keyword string.
 
int KeyValHex (const char *key, int *value)
 Get 32-bit signed integer value from hexadecimal keyword string.
 
int KeyValHex (const char *key, unsigned int *value)
 Get 32-bit unsigned integer value from hexadecimal keyword string.
 
int KeyValFmt (const char *key, int *value)
 Get 32-bit signed integer value from string.
 
int KeyValFmt (const char *key, unsigned int *value)
 Get 32-bit unsigned integer value from string.
 
int KeyValFrac (const char *key, unsigned int n, uint64_t *v1, uint64_t *v2)
 Fraction after n digits.
 
void CleanupCmd (char *cmdLine, int *cmdLen)
 Clean command string (remove extra spaces etc.)
 
int ReplaceParam (char *string)
 Replace parameter in string.
 

Detailed Description

Generic CLDC base class

Constructor & Destructor Documentation

◆ ngcdcsCLDC0() [1/2]

ngcdcsCLDC0::ngcdcsCLDC0 ( const ngcb_route_t & r,
int nc,
int nb )
inline

Constructor with route, number of clocks and number of biases.

◆ ngcdcsCLDC0() [2/2]

ngcdcsCLDC0::ngcdcsCLDC0 ( ngcbIFC * ifc,
const ngcb_route_t & r,
int nc,
int nb )
inline

Constructor with interface device, route, number of clocks and number of biases

◆ ~ngcdcsCLDC0()

virtual ngcdcsCLDC0::~ngcdcsCLDC0 ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ AtOnline()

virtual int ngcdcsCLDC0::AtOnline ( )
inlinevirtual

At online hook.

Reimplemented in ngcdcsLISABIAS.

◆ Calibrate()

virtual int ngcdcsCLDC0::Calibrate ( int noSetup = 0)
inlinevirtual

Calibrate (offset compensation)

Reimplemented in ngcdcsALBIAS, ngcdcsAOBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, ngcdcsLISABIAS, and ngcdcsNGSDBIAS.

◆ Calibrated()

virtual int ngcdcsCLDC0::Calibrated ( )
inlinevirtual

Check if calibration has been done.

Reimplemented in ngcdcsALBIAS, ngcdcsAOBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, ngcdcsLISABIAS, and ngcdcsNGSDBIAS.

◆ Check()

virtual int ngcdcsCLDC0::Check ( )
inlinevirtual

Check telemetry against current setup.

Reimplemented in ngcdcsCLDC.

◆ ClearCalibration()

virtual void ngcdcsCLDC0::ClearCalibration ( )
inlinevirtual

◆ LoadCfgFile()

virtual int ngcdcsCLDC0::LoadCfgFile ( const char * fileName = NULL)
inlinevirtual

Load voltage configuration.

Reimplemented in ngcdcsCLDC, and ngcdcsSCA.

◆ OutputDisable()

virtual int ngcdcsCLDC0::OutputDisable ( )
inlinevirtual

◆ OutputEnable()

virtual int ngcdcsCLDC0::OutputEnable ( )
inlinevirtual

◆ OutputEnabled()

virtual int ngcdcsCLDC0::OutputEnabled ( )
inlinevirtual

Check if output is enabled.

Reimplemented in ngcdcsCLDC.

◆ Protection()

virtual int ngcdcsCLDC0::Protection ( int flag)
inlinevirtual

Enable/disable protection circuit.

Reimplemented in ngcdcsALBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, and ngcdcsLISABIAS.

◆ Restore()

virtual int ngcdcsCLDC0::Restore ( const char * keyword)
inlinevirtual

Restore keyword from the last loaded file.

Reimplemented in ngcdcsCLDC, and ngcdcsSCA.

◆ SaveCfgFile()

virtual int ngcdcsCLDC0::SaveCfgFile ( const char * fileName)
inlinevirtual

Save voltage configuration.

Reimplemented in ngcdcsCLDC, and ngcdcsSCA.

◆ SaveErrFile()

virtual int ngcdcsCLDC0::SaveErrFile ( const char * fileName)
inlinevirtual

Save error calibration.

Reimplemented in ngcdcsCLDC.

◆ Selftest()

virtual int ngcdcsCLDC0::Selftest ( )
inlinevirtual

Execute self-test.

Reimplemented in ngcdcsCLDC, ngcdcsSCA, ngcdcsSEQ0, and ngcdcsSEQ.

◆ SetupKey()

int ngcdcsCLDC0::SetupKey ( const char * key,
const int * idx,
const char * value,
int * status = NULL )
virtual

◆ Snapshot()

virtual int ngcdcsCLDC0::Snapshot ( )
inlinevirtual

Telemetry snapshot.

Reimplemented in ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, and ngcdcsSCA.

◆ StatusKey()

int ngcdcsCLDC0::StatusKey ( const char * key,
const int * idx,
char * value,
int * status = NULL )
virtual

◆ TelClk() [1/2]

virtual int ngcdcsCLDC0::TelClk ( int num,
int l,
double * volt )
inlinevirtual

◆ TelClk() [2/2]

virtual int ngcdcsCLDC0::TelClk ( int num,
ngcdcs_clkv_t * cv )
inlinevirtual

Telemetry for clock (all levels)

Reimplemented in ngcdcsALBIAS, ngcdcsAOBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, ngcdcsLISABIAS, and ngcdcsNGSDBIAS.

◆ TelCurrent()

virtual double ngcdcsCLDC0::TelCurrent ( int chan)
inlinevirtual

Return value of last current-telemetry.

Reimplemented in ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, and ngcdcsC24.

◆ TelDC()

virtual int ngcdcsCLDC0::TelDC ( int num,
double * volt )
inlinevirtual

◆ VoltageClk() [1/2]

virtual int ngcdcsCLDC0::VoltageClk ( int num,
int l,
double volt,
int rangeCheck = 1 )
inlinevirtual

Set clock level.

Reimplemented in ngcdcsALBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, and ngcdcsLISABIAS.

◆ VoltageClk() [2/2]

virtual int ngcdcsCLDC0::VoltageClk ( int num,
ngcdcs_clkv_t cv,
int rangeCheck = 1 )
inlinevirtual

Set all levels of clock.

Reimplemented in ngcdcsCLDC.

◆ VoltageDC()

virtual int ngcdcsCLDC0::VoltageDC ( int num,
double volt,
int rangeCheck = 1 )
inlinevirtual

◆ VoltageErrClk()

virtual int ngcdcsCLDC0::VoltageErrClk ( int num,
int l,
double volt )
inlinevirtual

Set clock level voltage error.

Reimplemented in ngcdcsCLDC.

◆ VoltageErrDC()

virtual int ngcdcsCLDC0::VoltageErrDC ( int num,
double volt )
inlinevirtual

Set DC voltage error.

Reimplemented in ngcdcsCLDC.

◆ VoltageRegClk()

virtual int ngcdcsCLDC0::VoltageRegClk ( int num,
int l,
int value,
int rangeCheck = 1 )
inlinevirtual

Set clock hex-level.

Reimplemented in ngcdcsALBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, and ngcdcsLISABIAS.

◆ VoltageRegDC()

virtual int ngcdcsCLDC0::VoltageRegDC ( int num,
int value,
int rangeCheck = 1 )
inlinevirtual

Set DC hex-voltage.

Reimplemented in ngcdcsALBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, and ngcdcsLISABIAS.

◆ VSetup()

virtual int ngcdcsCLDC0::VSetup ( int autoCtrl = 0)
inlinevirtual

Apply voltage setup.

Reimplemented in ngcdcsCLDC, and ngcdcsSCA.

◆ VStatus()

virtual int ngcdcsCLDC0::VStatus ( int * s)
inlinevirtual

◆ VStatusString()

virtual char * ngcdcsCLDC0::VStatusString ( )
inlinevirtual

Get voltage status string.

Reimplemented in ngcdcsALBIAS, ngcdcsAPD, ngcdcsB24, ngcdcsC20B20, ngcdcsC24, ngcdcsCLDC, ngcdcsLISABIAS, and ngcdcsSCA.

◆ Zero()

virtual int ngcdcsCLDC0::Zero ( )
inlinevirtual

Member Data Documentation

◆ autoCal

int ngcdcsCLDC0::autoCal

Calibrate at online.

◆ autoDisable

int ngcdcsCLDC0::autoDisable

Disable when (re-)configuring.

◆ autoEnable

int ngcdcsCLDC0::autoEnable

Enable at online.

◆ calMax

double ngcdcsCLDC0::calMax

Voltage calibration limit (in Volts)

◆ cfgFile

char ngcdcsCLDC0::cfgFile[256]

Voltage configuration file.

◆ clk

ngcdcs_clk_t* ngcdcsCLDC0::clk

Clock voltages.

◆ clkTel

ngcdcs_clkv_t* ngcdcsCLDC0::clkTel

Saved clock voltages telemetry values.

◆ cvg1

double ngcdcsCLDC0::cvg1

Voltage conversion formula gain-1.

◆ cvg2

double ngcdcsCLDC0::cvg2

Voltage conversion formula gain-2.

◆ cvOffset

double ngcdcsCLDC0::cvOffset

Voltage conversion formula offset.

◆ dacTime

double ngcdcsCLDC0::dacTime

DAC settling time (in seconds)

◆ dc

ngcdcs_dc_t* ngcdcsCLDC0::dc

Bias voltages.

◆ dcTel

double* ngcdcsCLDC0::dcTel

Saved bias voltages telemetry values.

◆ haveCurrentTel

int ngcdcsCLDC0::haveCurrentTel

Flag, indicating whether current-telemetry is available.

◆ ilck

int ngcdcsCLDC0::ilck

Flag to enable/disable the external interlock.

◆ ilckOn

int ngcdcsCLDC0::ilckOn

Flag indicating whether interlock is enabled.

◆ margin

double ngcdcsCLDC0::margin

Margin for voltage check (in Volts)

◆ numClk

int ngcdcsCLDC0::numClk

Number of clock voltages.

◆ numDc

int ngcdcsCLDC0::numDc

Number of bias voltages.

◆ protection

int ngcdcsCLDC0::protection

Flag indicating whether protection has triggered.

◆ protectionOn

int ngcdcsCLDC0::protectionOn

Flag indicating whether protection is enabled.

◆ serNoBoard

char ngcdcsCLDC0::serNoBoard[32]

Serial number.

◆ serNoTrans

char ngcdcsCLDC0::serNoTrans[32]

Transition board serial number.

◆ telFlag

int ngcdcsCLDC0::telFlag

Flag to update telemetry.

◆ toggle

int ngcdcsCLDC0::toggle

Toggle new configuration.

◆ voltageInitFile

char ngcdcsCLDC0::voltageInitFile[256]

Voltage initialization file.

◆ vstat

int ngcdcsCLDC0::vstat

Soft-status (enabled, disabled)


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