43 static wpi::units::volt_t
CalculateVoltage(
const void*
id, wpi::units::ampere_t current);
97 static void EnableDischarge(
double batteryCapacityAmpHours, wpi::units::volt_t nominalVoltage,
98 wpi::units::ohm_t nominalResistance);
139 static void UpdateDischarge(
double totalCurrentAmps);
141 static double StateOfCharge();
142 static double InterpolateOpenCircuitVoltage(
double stateOfCharge);
143 static double Interpolate(
const std::map<double, double>& table,
double key);
146 static std::mutex m_mutex;
147 static std::unordered_map<const void*, double> m_currents;
148 static bool m_dischargeEnabled;
149 static double m_batteryCapacityAmpHours;
150 static double m_ampHoursUsed;
151 static double m_lastTimestampSeconds;
152 static std::map<double, double> m_socToVoltage;
153 static std::map<double, double> m_currentToCapacityFraction;