58 #include "Mockcan_cfg.h"
59 #include "Mockdatabase.h"
61 #include "Mockftask.h"
64 #include "Mockmpu_prototypes.h"
101 OS_GetNumberOfStoredMessagesInQueue_IgnoreAndReturn(1u);
102 MPU_xQueueReceive_IgnoreAndReturn(1u);
103 OS_ReceiveFromQueue_IgnoreAndReturn(
OS_SUCCESS);
105 canMessage.
id = 0x22u;
106 for (uint8_t i = 1u; i <= 8u; i++) {
107 canMessage.
data[i] = i;
112 for (uint8_t i = 0u; i < 8u; i++) {
113 TEST_ASSERT_EQUAL(0u, canMessage.
data[i]);
121 TEST_ASSERT_EQUAL(0x9Au, canMessage.
data[1u]);
122 TEST_ASSERT_EQUAL(0x02u, canMessage.
data[2u]);
125 TEST_ASSERT_EQUAL(0x9Au, canMessage.
data[3u]);
126 TEST_ASSERT_EQUAL(0x02u, canMessage.
data[4u]);
128 for (uint8_t i = 1u; i <= 4u; i++) {
129 canMessage.
data[i] = i;
136 TEST_ASSERT_EQUAL(0x201u, data16);
140 TEST_ASSERT_EQUAL(0x403u, data16);
142 for (uint8_t i = 0u; i <= 5u; i++) {
143 canMessage.
data[i] = i + 1u;
150 TEST_ASSERT_EQUAL(0x201u, data16);
154 TEST_ASSERT_EQUAL(0x403u, data16);
158 TEST_ASSERT_EQUAL(0x605u, data16);
160 for (uint8_t i = 1u; i <= 4u; i++) {
161 canMessage.
data[i] = i;
168 TEST_ASSERT_EQUAL(0x1u, data8);
172 TEST_ASSERT_EQUAL(0x2u, data8);
176 TEST_ASSERT_EQUAL(0x3u, data8);
180 TEST_ASSERT_EQUAL(0x4u, data8);
187 TEST_ASSERT_EQUAL(0xAu, canMessage.
id);
188 TEST_ASSERT_EQUAL(0xBu, canMessage.
data[0u]);
191 canMessage.
data[0u] = 0xA;
197 canMessage.
data[0u] = 0xA;
203 canMessage.
data[0u] = 0xA;
209 canMessage.
data[0u] = 0xA;
215 canMessage.
data[0u] = 0xA;
227 for (uint8_t i = 0u; i < 8u; i++) {
228 canMessage.
data[i] = 0u;
233 for (uint8_t i = 0u; i < 8u; i++) {
234 canMessage.
data[i] = 0x00u;
246 canMessage.
data[5u] |=
248 canMessage.
data[5u] |=
264 canMessage.
data[0] = 0xA;
265 bool ackReceived =
false;
268 TEST_ASSERT_EQUAL(
true, ackReceived);
269 TEST_ASSERT_EQUAL(0u, tries);
275 canMessage.
data[0] = 0xB;
278 TEST_ASSERT_EQUAL(1u, tries);
279 TEST_ASSERT_EQUAL(
false, ackReceived);
285 canMessage.
data[0] = 0xB;
289 TEST_ASSERT_EQUAL(
false, ackReceived);
bool TEST_I165C_GetImdInfo(CAN_BUFFERELEMENT_s *canMessage)
void TEST_I165C_ResetCanData(CAN_BUFFERELEMENT_s *canMessage)
void TEST_I165C_ReadDataWord(uint8_t dataWord, uint16_t *data, CAN_BUFFERELEMENT_s canMessage)
bool TEST_I165C_CheckAcknowledgeArrived(uint8_t command, uint8_t *tries, CAN_BUFFERELEMENT_s *canMessage)
bool TEST_I165C_IsSelfTestFinished(CAN_BUFFERELEMENT_s canMessage)
void TEST_I165C_ReadDataByte(uint8_t dataByte, uint8_t *data, CAN_BUFFERELEMENT_s canMessage)
void TEST_I165C_ReadDataWordImdInfo(uint8_t dataWord, uint16_t *data, CAN_BUFFERELEMENT_s canMessage)
void TEST_I165C_WriteDataWord(uint8_t dataWord, uint16_t data, CAN_BUFFERELEMENT_s *canMessage)
bool TEST_I165C_CheckResponse(uint8_t command, CAN_BUFFERELEMENT_s *canMessage)
void TEST_I165C_WriteCmd(uint8_t id, uint8_t command, CAN_BUFFERELEMENT_s *canMessage)
Headers for the driver for the insulation monitoring.
#define I165C_IMC_SELFTEST_PARAMETERCONFIG_SCENARIO_SHIFT
#define I165C_INSULATION_MEASUREMENT_STATUS_SHIFT
#define I165C_TRANSMISSION_ATTEMPTS
#define I165C_MESSAGETYPE_IMD_INFO
#define I165C_SELFTEST_RUNNING_SHIFT
#define I165C_IMC_SELFTEST_OVERALL_SCENARIO_SHIFT
#define CAN_ID_IMD_RESPONSE
#define NULL_PTR
Null pointer.
uint8_t data[CAN_MAX_DLC]
#define TEST_ASSERT_FAIL_ASSERT(_code_under_test)
assert whether assert macro has failed
volatile bool ftsk_allQueuesCreated
void testMessageComposition(void)
Test function to compose/use CAN messages.
QueueHandle_t ftsk_dataQueue
QueueHandle_t ftsk_canRxQueue
QueueHandle_t ftsk_imdCanDataQueue