| Index: tools/battor_agent/battor_sample_converter_unittest.cc
|
| diff --git a/tools/battor_agent/battor_sample_converter_unittest.cc b/tools/battor_agent/battor_sample_converter_unittest.cc
|
| index 3c2fbb8dcb0f840bceb341882ad25f908bfcbac1..a20f878701f4d45938d982c950240a0b8b366bcc 100644
|
| --- a/tools/battor_agent/battor_sample_converter_unittest.cc
|
| +++ b/tools/battor_agent/battor_sample_converter_unittest.cc
|
| @@ -21,6 +21,7 @@ TEST(BattOrSampleConverterTest, ToSampleSimple) {
|
| eeprom.low_gain = 1;
|
| eeprom.low_gain_correction_offset = 0;
|
| eeprom.low_gain_correction_factor = 1;
|
| + eeprom.sd_sample_rate = 1000;
|
|
|
| // Create a calibration frame with a baseline voltage and current of zero.
|
| std::vector<RawBattOrSample> calibration_frame;
|
| @@ -29,8 +30,9 @@ TEST(BattOrSampleConverterTest, ToSampleSimple) {
|
|
|
| // Set both the voltage and current to their max values.
|
| RawBattOrSample raw_one{2048, 2048};
|
| - BattOrSample one = converter.ToSample(raw_one);
|
| + BattOrSample one = converter.ToSample(raw_one, 0);
|
|
|
| + ASSERT_DOUBLE_EQ(0, one.time_ms);
|
| ASSERT_DOUBLE_EQ(2401.172447484123, one.voltage_mV);
|
| ASSERT_DOUBLE_EQ(1200.5862237420615, one.current_mA);
|
| }
|
| @@ -43,6 +45,7 @@ TEST(BattOrSampleConverterTest, ToSampleNonZeroBaseline) {
|
| eeprom.low_gain = 1;
|
| eeprom.low_gain_correction_offset = 0;
|
| eeprom.low_gain_correction_factor = 1;
|
| + eeprom.sd_sample_rate = 1000;
|
|
|
| // Create a calibration frame with a baseline voltage and current of zero.
|
| std::vector<RawBattOrSample> calibration_frame;
|
| @@ -51,8 +54,9 @@ TEST(BattOrSampleConverterTest, ToSampleNonZeroBaseline) {
|
|
|
| // Set both the voltage and current to their max values.
|
| RawBattOrSample raw_one{2048, 2048};
|
| - BattOrSample one = converter.ToSample(raw_one);
|
| + BattOrSample one = converter.ToSample(raw_one, 0);
|
|
|
| + ASSERT_DOUBLE_EQ(0, one.time_ms);
|
| ASSERT_DOUBLE_EQ(1200.586223742061, one.voltage_mV);
|
| ASSERT_DOUBLE_EQ(600.29311187103076, one.current_mA);
|
| }
|
| @@ -65,6 +69,7 @@ TEST(BattOrSampleConverterTest, ToSampleNonZeroMultiSampleBaseline) {
|
| eeprom.low_gain = 1;
|
| eeprom.low_gain_correction_offset = 0;
|
| eeprom.low_gain_correction_factor = 1;
|
| + eeprom.sd_sample_rate = 1000;
|
|
|
| // Create a calibration frame with a baseline voltage and current of zero.
|
| std::vector<RawBattOrSample> calibration_frame;
|
| @@ -74,8 +79,9 @@ TEST(BattOrSampleConverterTest, ToSampleNonZeroMultiSampleBaseline) {
|
|
|
| // Set both the voltage and current to their max values.
|
| RawBattOrSample raw_one{2048, 2048};
|
| - BattOrSample one = converter.ToSample(raw_one);
|
| + BattOrSample one = converter.ToSample(raw_one, 0);
|
|
|
| + ASSERT_DOUBLE_EQ(0, one.time_ms);
|
| ASSERT_DOUBLE_EQ(1200.5862237420615, one.voltage_mV);
|
| ASSERT_DOUBLE_EQ(600.29311187103076, one.current_mA);
|
| }
|
| @@ -88,6 +94,7 @@ TEST(BattOrSampleConverterTest, ToSampleRealValues) {
|
| eeprom.low_gain = 1.5;
|
| eeprom.low_gain_correction_offset = 0.03;
|
| eeprom.low_gain_correction_factor = 4;
|
| + eeprom.sd_sample_rate = 1000;
|
|
|
| // Create a calibration frame with a baseline voltage and current of zero.
|
| std::vector<RawBattOrSample> calibration_frame;
|
| @@ -97,8 +104,9 @@ TEST(BattOrSampleConverterTest, ToSampleRealValues) {
|
|
|
| // Set both the voltage and current to their max values.
|
| RawBattOrSample raw_one{1900, 2000};
|
| - BattOrSample one = converter.ToSample(raw_one);
|
| + BattOrSample one = converter.ToSample(raw_one, 0);
|
|
|
| + ASSERT_DOUBLE_EQ(0, one.time_ms);
|
| ASSERT_DOUBLE_EQ(1068.996209287540, one.voltage_mV);
|
| ASSERT_DOUBLE_EQ(9.7628957011935285, one.current_mA);
|
| }
|
| @@ -111,6 +119,7 @@ TEST(BattOrSampleConverterTest, ToSampleRealNegativeValues) {
|
| eeprom.low_gain = 1.5;
|
| eeprom.low_gain_correction_offset = 0.03;
|
| eeprom.low_gain_correction_factor = 4;
|
| + eeprom.sd_sample_rate = 1000;
|
|
|
| // Create a calibration frame with a baseline voltage and current of zero.
|
| std::vector<RawBattOrSample> calibration_frame;
|
| @@ -119,10 +128,34 @@ TEST(BattOrSampleConverterTest, ToSampleRealNegativeValues) {
|
|
|
| // Set both the voltage and current to their max values.
|
| RawBattOrSample raw_one{-1900, -2000};
|
| - BattOrSample one = converter.ToSample(raw_one);
|
| + BattOrSample one = converter.ToSample(raw_one, 0);
|
|
|
| + ASSERT_DOUBLE_EQ(0, one.time_ms);
|
| ASSERT_DOUBLE_EQ(-2885.2980205462577, one.voltage_mV);
|
| ASSERT_DOUBLE_EQ(-28.332106130755665, one.current_mA);
|
| }
|
|
|
| +TEST(BattOrSampleConverterTest, ToSampleMultipleSamples) {
|
| + BattOrEEPROM eeprom;
|
| + eeprom.r1 = 1;
|
| + eeprom.r2 = 1;
|
| + eeprom.r3 = 1;
|
| + eeprom.low_gain = 1;
|
| + eeprom.low_gain_correction_offset = 0;
|
| + eeprom.low_gain_correction_factor = 1;
|
| + eeprom.sd_sample_rate = 50;
|
| +
|
| + std::vector<RawBattOrSample> calibration_frame;
|
| + calibration_frame.push_back(RawBattOrSample{0, 0});
|
| + BattOrSampleConverter converter(eeprom, calibration_frame);
|
| +
|
| + BattOrSample one = converter.ToSample(RawBattOrSample{0, 0}, 0);
|
| + BattOrSample two = converter.ToSample(RawBattOrSample{0, 0}, 1);
|
| + BattOrSample three = converter.ToSample(RawBattOrSample{0, 0}, 2);
|
| +
|
| + ASSERT_DOUBLE_EQ(0, one.time_ms);
|
| + ASSERT_DOUBLE_EQ(20, two.time_ms);
|
| + ASSERT_DOUBLE_EQ(40, three.time_ms);
|
| +}
|
| +
|
| } // namespace battor
|
|
|