lolxnano
Code to control the LoLX SiPM biasing board from the connected nanoPi
Loading...
Searching...
No Matches
NanoPiSiPMBias Class Reference

TMFeEquipment implementation for NanoPi SiPM bias control and monitoring. More...

Inheritance diagram for NanoPiSiPMBias:
Collaboration diagram for NanoPiSiPMBias:

Public Member Functions

 NanoPiSiPMBias (const char *eqname, const char *eqfilename)
 Construct the equipment and initialize default configuration/state.
 
 ~NanoPiSiPMBias () override
 Destructor. Ensures ADC activity is stopped (RAII cleanup).
 
TMFeResult HandleInit (const std::vector< std::string > &args) override
 Initialize ODB keys and hardware interfaces.
 
TMFeResult HandleBeginRun (int run_number) override
 MIDAS transition: begin run.
 
TMFeResult HandleEndRun (int run_number) override
 MIDAS transition: end run.
 
TMFeResult HandleRpc (const char *cmd, const char *args, std::string &response) override
 Optional RPC handler for custom commands.
 
void HandlePeriodic () override
 Periodic loop called by TMFE at the configured tick rate.
 

Public Attributes

uint16_t fIdleReadPeriod_min = 3
 
uint16_t fRunReadPeriod_sec = 3
 
uint16_t fAdcAvg = 5
 
uint16_t fAdcTempAvg = 1
 
double fIScaling = 1.0e6
 
bool fEnHV = false
 
bool fEnQP = false
 
std::vector< int > fAdcGain
 
std::vector< int > fAdcRate
 
bool fRunning = false
 
double fLastReadTmfe = 0.0
 
std::vector< int > fDacSet
 
std::vector< int > fDacReadback
 
std::vector< double > fDemandV
 
std::vector< double > fDemandVPrev
 
std::vector< double > fAdcRaw
 
std::vector< double > fMeasured
 
std::vector< double > fAdcTemp
 
NanoPi np
 
std::unique_ptr< AD5686Rhvdac
 
std::unique_ptr< AD5676dac [NDACS]
 
std::unique_ptr< Ads1248hvadc
 
std::unique_ptr< Ads1248adc [NADCS]
 

Detailed Description

TMFeEquipment implementation for NanoPi SiPM bias control and monitoring.

Owns the hardware helpers (DACs/ADCs) and synchronizes state with ODB.

Constructor & Destructor Documentation

◆ NanoPiSiPMBias()

NanoPiSiPMBias::NanoPiSiPMBias ( const char * eqname,
const char * eqfilename )
inline

Construct the equipment and initialize default configuration/state.

Parameters
eqnameEquipment name shown in MIDAS.
eqfilenameSource filename (typically FILE).

Member Function Documentation

◆ HandleBeginRun()

TMFeResult NanoPiSiPMBias::HandleBeginRun ( int run_number)
inlineoverride

MIDAS transition: begin run.

Parameters
run_numberRun number (unused).

◆ HandleEndRun()

TMFeResult NanoPiSiPMBias::HandleEndRun ( int run_number)
inlineoverride

MIDAS transition: end run.

Parameters
run_numberRun number (unused).

◆ HandleInit()

TMFeResult NanoPiSiPMBias::HandleInit ( const std::vector< std::string > & args)
inlineoverride

Initialize ODB keys and hardware interfaces.

Parameters
argsFrontend arguments (unused).
Returns
TMFeOk() on success or TMFeErrorMessage() on failure.

◆ HandleRpc()

TMFeResult NanoPiSiPMBias::HandleRpc ( const char * cmd,
const char * args,
std::string & response )
inlineoverride

Optional RPC handler for custom commands.

Parameters
cmdRPC command name.
argsRPC argument string.
responseText response returned to the caller.

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