5#include <unordered_map>
10#include "RMMRegisterAccess.h"
12#define I2C_MUX_ADDR 117
13#define I2C_MUX_POSITION 16
15#define TICK_FREQ 125e6
17#define POWER_MON_MAX_MEASUREMENT_AGE 10
19using SensorResultsMap = std::map<std::string, float>;
20using PowerResultsMap = std::map<std::string, SensorResultsMap>;
40 rmmStatus calibrateINA226s();
41 rmmStatus selectINA226s();
43 bool powerMonitorsCalibrated;
44 bool powerMonitorsEnabled;
Class for managing and writing log messages to different log levels and files.
Definition RMMLog.h:47
rmmStatus disablePowerMonitoring()
Disables the internal state machine that reads out the power rail information.
Definition RMMRails.cpp:114
double getTemperature()
Gets the temperature of the RMM FPGA.
Definition RMMRails.cpp:21
rmmStatus enablePowerMonitoring(int interval_ms)
Enables the internal state machine to start reading out the Voltage, Current, and Power of various po...
Definition RMMRails.cpp:88
RMMRails(RMMRegisterAccess &RMMRegs)
Constructor of the RMMRails.
Definition RMMRails.cpp:10
RMMLog rmmLog
Log handler for RMMRails messages.
Definition RMMRails.h:36
rmmStatus getPowerVoltageCurrent(float voltageTolerancePercent, PowerResultsMap *result)
Gets the power, voltage, and current for all INA226 sensors on the VCU118.
Definition RMMRails.cpp:142
Class to handle register access over the ESS Readout Master Module.
Definition RMMRegisterAccess.h:57