58 #pragma GCC diagnostic push
59 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
60 #pragma GCC diagnostic ignored "-Wuninitialized"
63 #include "Mockfassert.h"
64 #include "Mockmxm_cfg.h"
70 TEST_INCLUDE_PATH(
"../../src/app/driver/afe/maxim/common")
71 TEST_INCLUDE_PATH("../../src/app/driver/afe/maxim/common/config")
72 TEST_INCLUDE_PATH("../../src/app/driver/config")
73 TEST_INCLUDE_PATH("../../src/app/driver/spi")
91 const uint8_t lsb = 0xFCu;
92 const uint8_t msb = 0xFFu;
93 uint16_t value = 0x00u;
95 TEST_ASSERT_EQUAL(0x3FFFu, value);
100 const uint8_t lsb = 0x10u;
101 const uint8_t msb = 0x00u;
102 uint16_t value = 0x00u;
104 TEST_ASSERT_EQUAL(1u, value);
109 const uint8_t lsb = 0x00u;
110 const uint8_t msb = 0x00u;
111 uint16_t value = 0x00u;
113 TEST_ASSERT_EQUAL(0u, value);
118 const uint8_t lsb = 0xFFu;
119 const uint8_t msb = 0x00u;
120 uint16_t value = 0x00u;
122 TEST_ASSERT_EQUAL(0xFFu, value);
127 const uint8_t lsb = 0x00u;
128 const uint8_t msb = 0xFFu;
129 uint16_t value = 0x00u;
131 TEST_ASSERT_EQUAL(0xFFu, value);
136 const uint8_t lsb = 0x00u;
137 const uint8_t msb = 0x40u;
138 uint16_t value = 0x00u;
140 TEST_ASSERT_EQUAL(1u, value);
145 const uint8_t lsb = 0xFFu;
146 const uint8_t msb = 0xFFu;
147 uint16_t value = 0x00u;
149 TEST_ASSERT_EQUAL(1u, value);
154 const uint8_t lsb = 0x00u;
155 const uint8_t msb = 0x00u;
156 uint16_t value = 0x00u;
158 TEST_ASSERT_EQUAL(0u, value);
165 uint16_t voltage = 0;
173 uint16_t voltage = 0;
175 TEST_ASSERT_EQUAL(5000u, voltage);
182 uint16_t voltage = 0;
184 TEST_ASSERT_EQUAL(0u, voltage);
191 uint16_t voltage = 0;
193 TEST_ASSERT_EQUAL(2500u, voltage);
197 FAS_StoreAssertLocation_Ignore();
209 TEST_ASSERT_EQUAL(0u, lsb);
210 TEST_ASSERT_EQUAL(0u, msb);
217 TEST_ASSERT_EQUAL(0xFCu, lsb);
218 TEST_ASSERT_EQUAL(0xFFu, msb);
240 TEST_ASSERT_EQUAL((0x3FFF >> 1u), value_14bit);
245 TEST_ASSERT_EQUAL(0xFCu, lsb);
246 TEST_ASSERT_EQUAL(0x7Fu, msb);
256 TEST_ASSERT_EQUAL((0x1998u >> 2u), value_14bit);
261 TEST_ASSERT_EQUAL(0x98u, lsb);
262 TEST_ASSERT_EQUAL(0x19u, msb);
266 uint16_t voltage = 5000u;
267 uint16_t voltage_result = voltage;
277 TEST_ASSERT_EQUAL(voltage, voltage_result);
281 uint16_t voltage = 0u;
282 uint16_t voltage_result = voltage;
292 TEST_ASSERT_EQUAL(voltage, voltage_result);
296 uint16_t voltage = 4200u;
297 uint16_t voltage_result = voltage;
302 TEST_ASSERT_EQUAL(0x35C1u, converted_voltage);
305 TEST_ASSERT_EQUAL(0x04u, lsb);
306 TEST_ASSERT_EQUAL(0xD7u, msb);
310 TEST_ASSERT_EQUAL(voltage, voltage_result);
318 uint8_t stringNumber = 0u;
319 uint16_t moduleNumberInString = 0u;
325 uint8_t stringNumber = 0u;
326 uint16_t moduleNumberInString = 0u;
332 uint8_t stringNumber = 0u;
333 uint16_t moduleNumberInString = 0u;
340 const uint8_t expectedStringNumber = 0u;
341 uint8_t stringNumber = 42u;
342 const uint16_t expectedModuleNumberInString = 0u;
343 uint16_t moduleNumberInString = 42u;
347 TEST_ASSERT_EQUAL(expectedStringNumber, stringNumber);
348 TEST_ASSERT_EQUAL(expectedModuleNumberInString, moduleNumberInString);
354 TEST_PASS_MESSAGE(
"This test is skipped due to the configuration of the BMS.");
356 const uint8_t expectedStringNumber = 1u;
357 uint8_t stringNumber = 0u;
358 const uint16_t expectedModuleNumberInString = 0u;
359 uint16_t moduleNumberInString = 42u;
363 TEST_ASSERT_EQUAL(expectedStringNumber, stringNumber);
364 TEST_ASSERT_EQUAL(expectedModuleNumberInString, moduleNumberInString);
370 TEST_PASS_MESSAGE(
"This test is skipped due to the configuration of the BMS.");
372 const uint8_t expectedStringNumber = 0u;
373 uint8_t stringNumber = 42u;
374 const uint16_t expectedModuleNumberInString = 1u;
375 uint16_t moduleNumberInString = 42u;
379 &moduleNumberInString));
381 TEST_ASSERT_EQUAL(expectedStringNumber, stringNumber);
382 TEST_ASSERT_EQUAL(expectedModuleNumberInString, moduleNumberInString);
388 TEST_PASS_MESSAGE(
"This test is skipped due to the configuration of the BMS.");
390 const uint8_t expectedStringNumber = 1u;
391 uint8_t stringNumber = 42u;
392 const uint16_t expectedModuleNumberInString = 1u;
393 uint16_t moduleNumberInString = 42u;
397 &moduleNumberInString));
399 TEST_ASSERT_EQUAL(expectedStringNumber, stringNumber);
400 TEST_ASSERT_EQUAL(expectedModuleNumberInString, moduleNumberInString);
#define BS_NR_OF_STRINGS
Number of parallel strings in the battery pack.
#define BS_NR_OF_MODULES_PER_STRING
number of modules in a string
#define NULL_PTR
Null pointer.
#define MXM_BM_LSB
Monitoring Register LSB.
#define MXM_REG_STATUS1_ALRTINTRFC
ALRTINTRFC bit in STATUS1.
#define MXM_BM_MSB
Monitoring Register MSB.
#define MXM_REG_STATUS1_ALRTRST
ALRTRST bit in STATUS1.
#define MXM_REG_ADC_14BIT_VALUE
Monitoring Register 14bit ADC value.
@ MXM_CONVERSION_UNIPOLAR
#define MXM_MAXIMUM_NR_OF_MODULES
Maximum number of modules.
#define TEST_ASSERT_PASS_ASSERT(_code_under_test)
assert whether assert macro has passed
#define TEST_ASSERT_FAIL_ASSERT(_code_under_test)
assert whether assert macro has failed