3#include "CdtBaseBmAPI.h"
4#include "hvCalibration.h"
6enum class TiaBoardVersion : uint8_t { V3_0 = 0, V3_2 = 1 };
7enum class I2cRequestAction : uint8_t { READ = 0, WRITE = 1 };
11 CdtHv(std::string name, TiaBoardVersion tia_board_version);
13 TiaBoardVersion getTiaBoardVersion()
const {
return tiaVersion; }
14 const std::string& getTiaBoardVersionLabel()
const {
return tiaBoardVersionLabel; }
21 double readHV(rmmStatus* status = NULL);
22 void writeHV(
const double voltage,
const double voltagePerSec);
29 rmmStatus
runI2cRequest(I2cRequestAction action, uint32_t dac_value = 0xFF);
31 std::atomic<uint32_t> previousDacValue{0};
32 TiaBoardVersion tiaVersion;
33 std::string tiaBoardVersionLabel;
37 std::atomic<uint32_t> hvTimeout{1000};
38 std::atomic<bool> _isHVRampRunning{
false};
39 std::atomic<bool> _hvStopRequested{
false};
CdtBaseBMAPI(RMMAPI *rmmApi, int ring, int node, std::string name, FENRegMap additional_reg_map)
Constructor for the CdtBm class.
Definition CdtBaseBmAPI.cpp:14
bool isI2cRequestDone()
Checks if an I2C request has completed.
Definition CdtHv.cpp:236
rmmStatus runI2cRequest(I2cRequestAction action, uint32_t dac_value=0xFF)
Executes an I2C read or write request to the HV module.
Definition CdtHv.cpp:197
uint32_t getHvTimeout()
Definition CdtHv.cpp:65
void resetHVStop()
Resets the stop request flag, allowing operations to continue.
Definition CdtHv.cpp:27
void writeHV(const double voltage, const double voltagePerSec)
Writes a voltage value to the HV chip, ensuring proper enabling and smooth ramping.
Definition CdtHv.cpp:77
bool isHVRampRunning() const
Checks if the high-voltage (HV) ramp process is currently running.
Definition CdtHv.cpp:121
void setHvTimeout(uint32_t val)
Definition CdtHv.cpp:17
void requestHVStop()
Requests to stop ongoing operations.
Definition CdtHv.cpp:22
uint32_t calcDacForVoltage(const double voltage)
Calculates the DAC value for a given voltage.
Definition CdtHv.cpp:151
double readHV(rmmStatus *status=NULL)
Reads the measured voltage from the HV chip via I2C.
Definition CdtHv.cpp:38
bool isStopHVRequested() const
Checks if a stop request has been issued.
Definition CdtHv.cpp:128
void jumpToVoltage(const double voltage)
Jumps to a specific high voltage value.
Definition CdtHv.cpp:137