Skip to content

Commit 49163af

Browse files
committed
Fixing ADC unit testing (not done)
1 parent 6c50195 commit 49163af

2 files changed

Lines changed: 45 additions & 5 deletions

File tree

platformio.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ lib_deps =
4040
blemasle/MCP23017@^2.0.0
4141
https://github.com/FabioBatSilva/ArduinoFake.git
4242
https://github.com/eranpeer/FakeIt.git
43-
43+
https://github.com/hytech-racing/shared_firmware_interfaces.git#5baf17a0f6d83d0a9d571d6bf56f409d2c8ad98a
44+
4445
[env:teensy41]
4546
test_framework=googletest
4647
; including only the current main file for compiling to keep old main still around for now while

test/test_interfaces/test_adc_interface.h

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
#include <ACU_Constants.h>
44
#include "ADCInterface.h"
55
#include "../../lib/interfaces/src/ADCInterface.cpp"
6+
#include <AnalogSensorsInterface.h>
7+
#include <MAX114XInterface.h>
68

79
using namespace fakeit;
810

@@ -12,7 +14,11 @@ ADCPinout_s pinout = {ACUInterfaces::IMD_OK_PIN,
1214
ACUInterfaces::TS_OUT_FILTERED_PIN,
1315
ACUInterfaces::PACK_OUT_FILTERED_PIN,
1416
ACUInterfaces::BSPD_CURRENT_PIN,
15-
ACUInterfaces::SCALED_24V_PIN};
17+
ACUInterfaces::SCALED_24V_PIN,
18+
ACUInterfaces::ADC0_CS,
19+
ACUInterfaces::ADC0_MOSI,
20+
ACUInterfaces::ADC0_MISO,
21+
ACUInterfaces::ADC0_CLK};
1622

1723
ADCConversions_s conversions = {ACUInterfaces::SHUTDOWN_CONV_FACTOR,
1824
ACUInterfaces::PRECHARGE_CONV_FACTOR,
@@ -21,12 +27,45 @@ ADCConversions_s conversions = {ACUInterfaces::SHUTDOWN_CONV_FACTOR,
2127
ACUInterfaces::BSPD_CURRENT_CONV_FACTOR,
2228
ACUInterfaces::GLV_CONV_FACTOR};
2329

30+
ADCChannels_s channels = {ACUInterfaces::ISO_PACK_N_CHANNEL,
31+
ACUInterfaces::ISO_PACK_P_CHANNEL,
32+
ACUInterfaces::PACK_VOLTAGE_SENSE_CHANNEL,
33+
ACUInterfaces::SHUNT_CURRENT_OUT_CHANNEL,
34+
ACUInterfaces::SHUNT_CURRENT_P_CHANNEL,
35+
ACUInterfaces::SHUNT_CURRENT_N_CHANNEL,
36+
ACUInterfaces::TS_OUT_FILTERED_CHANNEL,
37+
ACUInterfaces::PACK_OUT_FILTERED_CHANNEL};
38+
39+
ADCScales_s scales = {ACUInterfaces::ISO_PACK_N_SCALE,
40+
ACUInterfaces::ISO_PACK_P_SCALE,
41+
ACUInterfaces::PACK_VOLTAGE_SENSE_SCALE,
42+
ACUInterfaces::SHUNT_CURRENT_OUT_SCALE,
43+
ACUInterfaces::SHUNT_CURRENT_P_SCALE,
44+
ACUInterfaces::SHUNT_CURRENT_N_SCALE,
45+
ACUInterfaces::TS_OUT_FILTERED_SCALE,
46+
ACUInterfaces::PACK_OUT_FILTERED_SCALE};
47+
48+
ADCOffsets_s offsets = {ACUInterfaces::ISO_PACK_N_OFFSET,
49+
ACUInterfaces::ISO_PACK_P_OFFSET,
50+
ACUInterfaces::PACK_VOLTAGE_SENSE_OFFSET,
51+
ACUInterfaces::SHUNT_CURRENT_OUT_OFFSET,
52+
ACUInterfaces::SHUNT_CURRENT_P_OFFSET,
53+
ACUInterfaces::SHUNT_CURRENT_N_OFFSET,
54+
ACUInterfaces::TS_OUT_FILTERED_OFFSET,
55+
ACUInterfaces::PACK_OUT_FILTERED_OFFSET};
56+
57+
MAX114XChannels_s pairs = {CHANNEL_TYPE_e::INV_DIFFERENTIAL,
58+
CHANNEL_TYPE_e::SINGLE,
59+
CHANNEL_TYPE_e::DIFFERENTIAL,
60+
CHANNEL_TYPE_e::SINGLE};
61+
2462
float bit_res = ACUInterfaces::BIT_RESOLUTION;
63+
int spi_speed = ACUInterfaces::ADC0_SPEED;
2564

2665
TEST (ADCInterfaceTesting, init) {
2766
When(Method(ArduinoFake(), pinMode)).AlwaysReturn();
2867

29-
ADCInterfaceInstance::create(pinout, conversions, bit_res);
68+
ADCInterfaceInstance::create(pinout, conversions, channels, scales, offsets, pairs, spi_speed, bit_res);
3069
ADCInterfaceInstance::instance().init(0);
3170

3271
ASSERT_EQ(ADCInterfaceInstance::instance().is_in_imd_startup_period(), true);
@@ -44,7 +83,7 @@ TEST (ADCInterfaceTesting, read_imd_ok) {
4483
When(Method(ArduinoFake(), pinMode)).AlwaysReturn();
4584
When(Method(ArduinoFake(), analogRead)).AlwaysReturn(0);
4685

47-
ADCInterfaceInstance::create(pinout, conversions, bit_res);
86+
ADCInterfaceInstance::create(pinout, conversions, channels, scales, offsets, pairs, spi_speed, bit_res);
4887
ADCInterfaceInstance::instance().init(0);
4988

5089
ADCInterfaceInstance::instance().read_imd_ok(1000);
@@ -63,7 +102,7 @@ TEST (ADCInterfaceTesting, read_functions) {
63102
When(Method(ArduinoFake(), pinMode)).AlwaysReturn();
64103
When(Method(ArduinoFake(), analogRead)).AlwaysReturn(0);
65104

66-
ADCInterfaceInstance::create(pinout, conversions, bit_res);
105+
ADCInterfaceInstance::create(pinout, conversions, channels, scales, offsets, pairs, spi_speed, bit_res);
67106
ADCInterfaceInstance::instance().init(3000);
68107
ADCInterfaceInstance::instance().read_shdn_voltage();
69108
ADCInterfaceInstance::instance().read_shdn_out_voltage();

0 commit comments

Comments
 (0)